У меня есть тег выбора нескольких, и я должен записать функцию onclick, он - опции, потому что я должен получить значение последней нажатой опции, но когда я записал следующее
$("#multiple_select option").click(function()
{
var val = $(this).val();
alert(val);
});
это не работает в IE.
В чем проблема?
Я должен точно нажать событие, потому что я уже записал функцию onclick событие (демонстрация здесь), и я должен зафиксировать, в последний раз изменил значение элемента, которое невозможно сделать без события щелчка (я думаю),
не привязывайте его к варианту
$("#multiple_select").click(function(){
alert("works");
});
принятый ответ:
$(document).ready(function()
{
var options = $("#supply_cities_select :selected");
var lastOption;
$("#supply_cities_select").click(function()
{
lastOption = $(this).find(':selected').not(options);
options = $(this).find(':selected');
})
});
Если вы действительно хотите иметь событие щелчка
для каждого параметра, вам необходимо использовать Список
вместо стиля раскрывающегося списка
.
Для этого добавьте атрибут size
в элемент select
, например:
<select type="multiple" size=4>
<option>foo</option>
<option>bar</option>
<option>baseball</option>
</select>
Теперь вы можете привязать каждый параметр
индивидуально.
Если вы хотите получить значение выбранной опции, используйте обработчик событий change
и метод .val ()
, например:
$("#multiple_select").change(function() {
var val = $(this).val();
alert(val);
});
$("#multiple_select").click(function(){
alert($(this).children("option:selected").val());
});
должен к вещи
<select id="multiple_select" size="4">
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
<option value="4">Four</option>
</select>
<script src="Scripts/jquery-1.4.1-vsdoc.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#multiple_select').click(function() {
alert($(this).val());
});
});
</script>
Окно оповещения, в зависимости от сделанного выбора, показывает выбранное значение.
Хорошо, вот некоторые странности IE:
Используя IE, в функции события щелчка event.srcElement.value
выдает значение параметра, по которому щелкнули последний раз.
Попробуйте следующее: http://jsfiddle.net/Ch2DT/ (проверено только в IE8, требуется работа, чтобы сделать его кроссбраузерным)
Используйте JQuery focus () on option, а не click ().
Счастливого кодирования.