Выберите значение из выпадающего меню

0

Как сделать мое раскрывающееся меню выбрать значение и отобразить его, когда я выбираю элемент, отпустите мою кнопку мыши? НО НЕ, когда я нажимаю кнопку со стрелкой вниз.

HTML:

<select name="menu" id="menu"></select>

JS:

$("#menu").click(function () {
    var currentSelection = select.options[select.selectedIndex].value;
    populate(select.options[select.selectedIndex].value);

});

Проблема заключается в том, что, когда я нажимаю стрелку вниз из меню выбора, он думает, что я уже нажал/выбрал элемент, и он вызывает функцию populate() прямо там. Как я могу изменить его, чтобы вызвать call populate() после выбора элемента и щелкнуть его левой кнопкой мыши?

  • 0
    используйте обработчик onchange (как ответ @Jason P) и внутри него используйте this.value : $("#menu").change(function () {populate(this.value);});
Теги:

3 ответа

2
Лучший ответ

.изменение()

$("#menu").change(function () {
    //code here
});


Лучше использовать это ключевое слово
$("#menu").change(function () {
    var currentSelection = this.value;
    populate(this.value);

});
  • 1
    Спасибо за отзыв Тушар
  • 0
    @JennyC Добро пожаловать, рады помочь :)
3

.change() этого попробуйте .change():

$("#menu").change(function () {

Таким образом, событие срабатывает только при изменении значения.

Вы также можете упростить свой внутренний код:

populate(this.value);
  • 0
    Спасибо Джейсон, очень полезно
0

Попробуйте это, вам нужно использовать обработчик change вместо обработчика click

$("#menu").change(function () {
    populate($(this).val());
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню