【发布时间】:2018-08-09 14:09:18
【问题描述】:
我有一个如下的选择菜单
<select name="scale" id="scale">
<option selected>linear</option>
<option>root</option>
<option>square</option>
</select>
为了让它更好,我使用了 jQuery UI v1.11.2。
$('#scale').selectmenu();
我现在可以通过
读取下拉列表的值alert($('#scale').val());
这导致“线性”作为答案。我还可以使用
将值设置为“正方形”$('#scale').val('square');
alert($('#scale').val());
正确地给出了“正方形”的答案。但是(!!!)下拉菜单不会在屏幕上显示。所以实际上我可以设置和读取值,但视觉表示不会改变 - 小部件不会刷新。我在某处读到了.change(),但没有任何效果。我也尝试过jQuery UI Selectmenu value set dynamically does not change visible selected value 中的答案,但失败了。任何$('#scale').selectmenu('value', 'square'); 都会返回错误消息Error: no such method 'value' for selectmenu widget instance。
谁能帮助在将小部件设置为新值后如何刷新它?
【问题讨论】:
-
如果您在使用
.val()后调用refresh,它应该可以正常工作:$("#scale").selectmenu("refresh"); -
它确实有效!非常感谢。
-
@blgt 请将其发布为答案。不要通过在 cmets 中回答而留下未回答的问题...
-
@TJ 完成。我想说这个问题最好关闭,因为它不太可能帮助除 OP 以外的任何人(因此评论和近距离投票)
-
@blgt 嗯,我认为这可能会在将来对某人有所帮助,除非它与原帖中提到的问题完全相同......
标签: jquery-ui