событие щелчка для опции не работает в IE

У меня есть тег выбора нескольких, и я должен записать функцию onclick, он - опции, потому что я должен получить значение последней нажатой опции, но когда я записал следующее

$("#multiple_select option").click(function()
{
     var val = $(this).val();
     alert(val);
});

это не работает в IE.

В чем проблема?

ОБНОВЛЕНИЕ

Я должен точно нажать событие, потому что я уже записал функцию onclick событие (демонстрация здесь), и я должен зафиксировать, в последний раз изменил значение элемента, которое невозможно сделать без события щелчка (я думаю),

8
задан Benjamin 13 December 2013 в 12:17
поделиться

6 ответов

не привязывайте его к варианту

$("#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');
        })
});
7
ответ дан 5 December 2019 в 17:33
поделиться

Если вы действительно хотите иметь событие щелчка для каждого параметра, вам необходимо использовать Список вместо стиля раскрывающегося списка .

Для этого добавьте атрибут 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);
});
3
ответ дан 5 December 2019 в 17:33
поделиться
$("#multiple_select").click(function(){
  alert($(this).children("option:selected").val());
});

должен к вещи

0
ответ дан 5 December 2019 в 17:33
поделиться
<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>

Окно оповещения, в зависимости от сделанного выбора, показывает выбранное значение.

0
ответ дан 5 December 2019 в 17:33
поделиться

Хорошо, вот некоторые странности IE:

Используя IE, в функции события щелчка event.srcElement.value выдает значение параметра, по которому щелкнули последний раз.

Попробуйте следующее: http://jsfiddle.net/Ch2DT/ (проверено только в IE8, требуется работа, чтобы сделать его кроссбраузерным)

0
ответ дан 5 December 2019 в 17:33
поделиться

Используйте JQuery focus () on option, а не click ().

Счастливого кодирования.

0
ответ дан 5 December 2019 в 17:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: