2015-05-08 57 views
3

我正在使用jQuery UI,並在jsfiddle下創建。以編程方式讓Jquery UI fire事件更改事件?

$("#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

爲什麼下來票呢? – user755806

+0

因爲[如何問](http://stackoverflow.com/help/how-to-ask),那就是爲什麼。看看[這裏](http://meta.stackoverflow.com/a/269257/4202224)爲更多信息 – empiric

+0

謝謝你的信息。 – user755806

回答

2

它的工作。

可以綁定selectmenuchange事件,那麼你可以使用.trigger()

$("#filesA") 
    .selectmenu() 
    .on("selectmenuchange", function (event, ui) { 
     alert('x'); 
    }); 

$('#filesA').val('2') 
    .selectmenu("refresh") 
    .trigger("selectmenuchange"); 

DEMO

相關問題