2012-04-16 4 views
0

Code:Почему этот обработчик не работает в Chrome?

<select id="example"> 
    <option value="38">Marco</option> 
    <option value="39">Hello</option> 
</select>​ 

$("#example> option").click(function() { 
    alert("ciao"); 
}); 

нажав на выпадающий пункт, предупреждение не не показал ... IE и Firefox без проблем ..

+0

Привяжите событие click к полю выбора, чтобы заставить его работать: http://jsfiddle.net/cSBET/1/ –

+0

Возможный дубликат http://stackoverflow.com/questions/7080213/jquery-click-event -not-working-on-option-element –

ответ

1

Использование $('#example').change(...) - выбор/щелкнув элемент изменит значение selectbox, чтобы он работал.

+0

Нажатие на тот же выбранный параметр не вызывает событие «change». –

1

Вместо этого используйте функцию изменения - она ​​идеально подходит для выпадающих списков.

$('#example').change(function() { 
    alert('ciao'); 
}); 
1

кажется, что .change() правильный способ пойти об этом на <select> элементе.

обратите внимание, однако, что вы будете иметь, чтобы получить возможность вручную один раз событие изменения было обстрелял <select> так this относится к <select> элементу, а не <option> элемента.

вы должны будете сделать это: var $selected = $(this).find(":selected");

$selected будет содержать выберите вариант, или несколько выбранных параметров, если несколько выбора включена.

просто хочу уточнить, что .change() предназначен для использования на элементе <select>, а не в элементах <option>.

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