Jquery ui 通过javascript将jQuery UI selectmenu设置为特定选项
我有如下选择菜单Jquery ui 通过javascript将jQuery UI selectmenu设置为特定选项,jquery-ui,Jquery Ui,我有如下选择菜单 <select name="scale" id="scale"> <option selected>linear</option> <option>root</option> <option>square</option> </select> 我现在可以通过读取下拉列表的值 alert($('#scale').val()); 这导致答案为“线性”。我还可以使用 $('
<select name="scale" id="scale">
<option selected>linear</option>
<option>root</option>
<option>square</option>
</select>
我现在可以通过读取下拉列表的值
alert($('#scale').val());
这导致答案为“线性”。我还可以使用
$('#scale').val('square');
alert($('#scale').val());
正确的答案是“平方”。但是(!!!)下拉列表不会在屏幕上显示这一点。因此,实际上我可以设置和读取值,但是视觉表示不会改变-小部件不会刷新。我读到某个地方抛出了一个.change()
,但没有任何效果。我也尝试过类似的答案,但失败了。任何$('#scale')。选择菜单('value','square')代码>结果出现在错误消息中错误:selectmenu小部件实例没有此类方法“值”
有人可以帮助您在将小部件设置为新值后如何刷新它吗?如果您在使用.val()
后调用它,它应该可以正常工作:
原因是.val()
函数由jQuery提供,而小部件是jQueryUI的一部分。[据推测,$.ui作者不想更改$功能,尽管这纯粹是我的猜测]如果您在使用.val()
:$(“#缩放”)。选择菜单(“刷新”)代码>它确实有效!非常感谢。@blgt请将此作为答案发布。不要在评论中回答问题而不回答问题…@TJ Done。我认为这个问题最好是封闭式的,因为它不太可能帮助OP以外的任何人(因此评论和投票结果)@blgt-Hmm我认为这可能会在将来帮助某人,除非它与原帖子中提到的问题完全相同……我认为这是最好的答案。感谢BLGT,您也可以在一行$('#scale').val('square')中完成。选择菜单(“刷新”)代码>
$('#scale').val('square');
alert($('#scale').val());
$('#scale').val('square');
$("#scale").selectmenu("refresh");