2011-12-14 4 views
0

У меня есть форма редактирования, которая содержит несколько полей выбора с выбранными параметрами. Есть ли способ обнаружить изменения (повторно выбранные) с помощью jquery?Определить параметры изменения в поле выбора jQuery

(Я хочу, чтобы показать значение, когда выберите флажок rechanged в редактировании)

Edit: В форме редактирования у меня есть выберите ящики, которые уже «изменить» статус. Я хочу знать, когда выберите коробки rechanged:

<select multiple='multiple' id='select1'> 
    <option selected="selected">option1</option> 
    <option>option2</option> 
    <option>option3</option> 
</select> 
<select multiple='multiple' id='select2'> 
    <option selected="selected">option3</option> 
    <option>option4</option> 
    <option>option5</option> 
</select> 

изменения() или OnChange() не может быть полезной, так как входы поставляются с «изменением» EVET на документ готов.

Заранее спасибо

ответ

1

Если вы имеете в виду вы хотите, чтобы обнаружить измененный выбор, без фактического фокуса утрачивается (который запускает событие изменения), то вам необходимо добавить другие события, такие как «щелчок, фокус, нажатие» и т. д. на управление событиями, как вы сочтете нужным.

$('#myselectboxid').on('change click keypress', function(){ 
    //do my thing here 
}); 

Вы можете даже добавлять собственные события, если вы хотите, - говорят, что вы делаете изменения (например, новое выделение) с помощью кода и хотят стрелять эти события.

Если вы просто хотите, чтобы сгруппировать выбор, вы можете сделать это с помощью селектора класса или селектор элемента:

$('.myselectboxOneClass').on('change', function(){ 
     //do my thing here 
}); 

$('select').on('change', function(){ 
     //do my thing here 
}); 

или использовать несколько

$('.myselectboxOneClass, #myotherSelectId, .mySelectBoxTwoClass').on('change', function(){ 
     //do my thing here 
}); 

С вашего редактирования: рабочий пример

http://jsfiddle.net/vhy7w/

Обновлено: показать инициатор союзник выбран, просто добавить курок изменения на старте :) http://jsfiddle.net/vhy7w/1/

+0

спасибо за ответ, я отредактировал мой вопрос. – TheNone

+0

добавил скрипку, чтобы показать рабочий пример с вашей разметкой :) –

+0

Я работаю над системой, которая использует jquery 1.5. on ('change click keypress', function() {}) не работает на 1.5 -> http://jsfiddle.net/vhy7w/2/ – TheNone

1

Будет не то, как это сделать это:

$('select').on('change', function() { 
    // the select's option has changed 
}); 
0

Я хотел бы предложить вам сделать добавить атрибут класса, чтобы ваш выбор так:

<select class='noticeable'>...</select> 

И в вашем JQuery код, который вы добавить:

$('.noticeable').on('change',function(){ 
    //set some notification 
}); 

Добавив атрибут класса, вы можете «выбрать», на котором вы хотите сделать это уведомление. В противном случае, если вы выберете только $('select'), уведомление-действие будет выполняться для каждого тега select.

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