我有一个像下面这样的选择菜单
<select name="scale" id="scale">
<option selected>linear</option>
<option>root</option>
<option>square</option>
</select>
Run Code Online (Sandbox Code Playgroud)
为了使它更好,我使用jQuery UI v1.11.2.
$('#scale').selectmenu();
Run Code Online (Sandbox Code Playgroud)
我现在可以读取下拉列表的值
alert($('#scale').val());
Run Code Online (Sandbox Code Playgroud)
这导致"线性"作为答案.我也可以通过使用将值设置为'square'
$('#scale').val('square');
alert($('#scale').val());
Run Code Online (Sandbox Code Playgroud)
这正确地给出了"方形"的答案.但是(!!!)下拉菜单不会在屏幕上显示.所以实际上我可以设置和读取值,但是可视化表示不会改变 - 小部件不会刷新.我在某个地方读了一个.change()但没有任何影响.我也试过像jQuery UI中的答案,动态选择菜单值设置不会改变可见的选定值但是失败了.$('#scale').selectmenu('value', 'square');错误消息中的任何重新启动Error: no such method 'value' for selectmenu widget instance.
任何人都可以帮助如何在将窗口小部件设置为新值后刷新它?
我有一个get请求,它获取了一堆类别信息来填充a <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");
});
});
Run Code Online (Sandbox Code Playgroud)
但是这会填充<select>但不会更新jQuery UI selectmenu.我需要做些什么才能让selectmenu'重新绘制'以便新值出现在selectmenu中?