我有一个获取请求,它获取一堆类别信息以填充< select>.我正在使用jQuery UI Selectmenu来设置我的选择样式.
所以我的jQuery看起来有点像这样:
//Initalise the selectmenu $("select").selectmenu({ style: 'dropdown' }); $.get("http://localhost/somedata?cat=2",function (data) { $.each(data,function (index,itemData) { $("<option value='" + itemData.Id + "'>" + itemData.Name + "</option>").appendTo("#selectList"); }); });
但是这会填充< select>但不更新jQuery UI selectmenu.我需要做些什么才能让selectmenu’重新绘制’以便新值出现在selectmenu中?
解决方法
您可以使用
development wiki中记录的适当命名的刷新方法:
$("select").selectmenu({ style: 'dropdown' }); $.get("http://localhost/somedata?cat=2",function(data) { $.each(data,function(index,itemData) { $("<option value='" + itemData.Id + "'>" + itemData.Name + "</option>").appendTo("#selectList"); }); $("select").selectmenu("refresh"); });
更新:不幸的是,刷新功能已记录但似乎尚未实现.另一种选择是销毁小部件并重新创建它:
$("select").selectmenu("destroy").selectmenu({ style: "dropdown" });