我有一个像下面这样的选择菜单
<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.
任何人都可以帮助如何在将窗口小部件设置为新值后刷新它?
blg*_*lgt 56
如果您在使用后调用refresh,它应该按预期工作.val():
$('#scale').val('square');
$("#scale").selectmenu("refresh");
Run Code Online (Sandbox Code Playgroud)
原因是该.val()函数由jQuery提供,而widget是jQueryUI的一部分.[推测$ .ui的作者不想改变$功能,虽然这纯粹是我的猜测]
| 归档时间: |
|
| 查看次数: |
25330 次 |
| 最近记录: |