2012-02-08 4 views

ответ

13

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

$(function() {  
     $('#items').selectmenu({ 
      change: function() { 
       alert('x'); 
      } 
     }); 
}); 
+0

Также можно добавить OnChange поведение позже, после того, как был выбран selectmenu. Просто выберите элементы, которые имеют поведение selectmenu, и отредактируйте свойство изменения, например. '$ ('# items'). change (function() {...})' – berliner

+0

@berliner это решение не работает для меня ... Отказ от вашего решения работает только при открытии страницы. Не при изменении выберите .. – Maxbester

+0

через два года ... это единственное решение? В моем проекте есть тонны selectboxes с существующим change() - событием и все, что не работает с selectmenu. – user706420

10

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

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

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

    alert("hello world"); 

}); 
1

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

При настройке selectmenu использовать близкий метод, как так:

//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'); 
}); 
Смежные вопросы