Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery ui 通过javascript将jQuery UI selectmenu设置为特定选项_Jquery Ui - Fatal编程技术网

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");