我正在使用jquery UI并在jsfiddle下面创建。
$( "#filesA" ).selectmenu({ change: function( event, ui ) { alert('x'); }});
$.widget( "custom.iconselectmenu", $.ui.selectmenu, {
change: function(event,ui){
alert("Changed");
},
_renderItem: function( ul, item ) {
var li = $( "<li>", { text: item.label } );
if ( item.disabled ) {
li.addClass( "ui-state-disabled" );
}
$( "<span>", {
style: item.element.attr( "data-style" ),
"class": "ui-icon " + item.element.attr( "data-class" )
})
.appendTo( li );
return li.appendTo( ul );
},
});
$( "#filesA" ).addClass( "ui-menu-icons" );
// set option by value - select "option 2"
$('#btn').click(function (){
$('#filesA').val('2');
$('#filesA').selectmenu("refresh");
$('#filesA').selectmenu("change");
});
点击select option 2
按钮,下拉列表中的值会发生变化,但不会触发change
事件。请帮帮我。
答案 0 :(得分:2)
这是一个解决方法。
您可以绑定selectmenuchange
事件,然后可以使用.trigger()
$("#filesA")
.selectmenu()
.on("selectmenuchange", function (event, ui) {
alert('x');
});
$('#filesA').val('2')
.selectmenu("refresh")
.trigger("selectmenuchange");