2010-11-03 5 views
2

У меня есть выбор, и мне нужно запускать несколько js каждый раз, когда выбран параметр, даже если он уже выбран. Пример:Выберите ту же опцию несколько раз/в обмене без изменения

<select id="select_one"> 
    <option value="">Choose One...</option 
    <option value="one">One</option> 
    <option value="two">Two</option> 
</select> 

Если кто-то выбирает "один" Я хочу, чтобы стрелять functionOne(). Но, пока выбрано «одно», если пользователь снова выбирает «один», я хочу снова запустить функциюOne(). Итак, это означает, что onChange не будет работать, так как выбор не меняется.

У кого-нибудь есть мысли?

+1

Что вы подразумеваете под "выбирает один раз"? Если вы имеете в виду просто щелчок/фокусировку выбранной опции, ответы ниже - то, что вам нужно (зацепите событие onclick), иначе объясните, что вы имеете в виду. –

ответ

0

добавить OnClick к <option> тегу

0

после обжига onSelect, изменить выберите значение «Добавить Другие»? например. Параметр forst имеет идентификатор #selectBox, значение '' и html «Выбрать один». OnChange, получить значение $('#selectBox').val(); и оборачиваться после ваших действий и идти $('#selectBox').val('').html('Select Another');

0

Добавить onclick даже каждый вариант тега. Внутри функции делают:

function() { 
    var timesClicked = $(this).attr('times-clicked') || 0; 
    $(this).attr('times-clicked', ++timesClicked); 
    if (timesClicked == 1) { 
    functionONe(); 
    } 
    else if (timesClicked == 2) { 
    functionTwo(); // and so on 
    } 
} 
4

В отличие от некоторых нынешних ответов, вы на самом деле не получить click событие на <option> в IE.

Единственный надежный способ обнаружения случая, когда выбранный вариант был выбран, - это поставить обработчик onclick на <select>. Естественно, это также обнаружит любые другие щелчки на элементе select, поэтому в зависимости от того, что делает functionOne(), это тоже небезопасно.

Возможно, вам будет лучше с чем-то похожим на выбор, но не такой, как всплывающее окно с кнопками на нем. Что вы пытаетесь сделать? Если вы пытаетесь сделать «меню перехода», где выбор опции переходит на новую страницу: не, это старый и дискредитированный механизм с серьезными проблемами юзабилити.

Смежные вопросы