События jQuery UI Selectmenu связывают - PullRequest
7 голосов
/ 08 февраля 2012

Я использую виджет JQuery UI Selectmenu - http://wiki.jqueryui.com/w/page/12138056/Selectmenu

Я пытаюсь связать событие изменения.Но это не работает:

$(function() {
  $('select#items').selectmenu();
  $('select#items').bind("change",function(){
     alert('x');
   });  
});

Есть идеи?

Ответы [ 3 ]

13 голосов
/ 08 февраля 2012

Я нашел ответ.Итак, вот оно:

$(function() {      
        $('#items').selectmenu({
            change: function() {
                alert('x');
            }
        });
});
10 голосов
/ 05 августа 2014

Так как это впервые появилось в Google и не дало мне ответа, который я искал, посмотрев на код пользовательского интерфейса jquery, это можно сделать после первоначальной настройки меню выбора, привязки к событию selectmenuchange, как показано ниже.Все равно у меня сработало.

$('#items').selectmenu();

$('#items').on('selectmenuchange',function() {

    alert("hello world");

});
1 голос
/ 12 января 2015

Я просто выдернул свои волосы из-за этого и придумал легкий способ сделать это. Вы в основном должны сказать selectmenu, чтобы вызвать событие изменения.

При настройке вашего выбора используйте метод close следующим образом:

//Set select box to jQuery UI selectmenu
$('select').selectmenu({
   close: function(event, ui){
      //Fire change event
      $(this).change();
   }
});

Затем определите событие изменения следующим образом:

$('#container').on('change', 'select', function(e){
   alert('x');
});
...