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 selectmenu中动态选择选项?_Jquery_Jquery Ui_Jquery Ui Selectmenu - Fatal编程技术网

如何在jQuery ui selectmenu中动态选择选项?

如何在jQuery ui selectmenu中动态选择选项?,jquery,jquery-ui,jquery-ui-selectmenu,Jquery,Jquery Ui,Jquery Ui Selectmenu,将菜单从常规选择更改为jQuery selectmenu后,我无法再以编程方式选择其中的选项。有办法做到这一点吗 要选择的代码假定ListId是列表的实际Id $('#ListId').val(value); 插件的激活方式如下: $("#ListId").selectmenu({ style: "dropdown", width:140 }); 有没有办法在选择菜单中选择一个项目?调用相同的.valvalue函数只是选择隐藏的原始选择列表中的值,而不是风格优美的jQuery selectm

将菜单从常规选择更改为jQuery selectmenu后,我无法再以编程方式选择其中的选项。有办法做到这一点吗

要选择的代码假定ListId是列表的实际Id

$('#ListId').val(value);
插件的激活方式如下:

$("#ListId").selectmenu({ style: "dropdown", width:140 });

有没有办法在选择菜单中选择一个项目?调用相同的.valvalue函数只是选择隐藏的原始选择列表中的值,而不是风格优美的jQuery selectmenu。

您还可以通过添加更改调用来触发更改事件处理程序:

$('#ListId').selectmenu("value", value);
$('#ListId').selectmenu("value", value);
$('#ListId').selectmenu("change"); // Add this for a change event to occur
请注意,必须使用索引而不是值来选择使用此方法的选项

例如,给定此选择

<select id="ListId">
   <option value="value-one">One</option>
   <option value="value-two">Two</option>
</select>

假设您之前已经做过一次此部分:

$("#ListId").selectmenu({ style: "dropdown", width:140 });
我发现这很有效:

$('#ListId').val(value);
$('#ListId').selectmenu("refresh");

这会导致样式化下拉列表显示正确的值。

我尝试了以下方法,但在我的情况下不起作用

$('#ListId').find('option[value=""]').attr("selected", true);    
一,

二,

三,

刷新、选定…等。在某些情况下,它不起作用

因此,我在chrome中按ctrl+I以查看源代码。 我使用下面的代码来解决我的问题

// Set Component Separator   jQuery UI SelectMenu
componentSeparatorPlaceHolder.find(".ui-selectmenu-text").html(inputComponentSeparatorStr); 
// Set ComponentSeparatorDropDown
componentSeparator.val(inputComponentSeparatorStr); 

我尝试过以下方法,在我的情况下确实有效

$('#ListId').find('option[value=""]').attr("selected", true);    


不适用于jQuery UI的新版本,请改为使用$'listId'.valvalue.selectmenu'refresh'@TheodoreK。使用$'listId'.valvalue.selectmenu'refresh'会引发未捕获的错误:对于菜单小部件实例,没有此类方法'instance'。有什么解决办法吗?我已将我的列表初始化为$listId.selectmenu;选项正在使用for loop动态填充这个答案对我有效这对我无效。。。进一步查看后,我发现$'select'.propselectedIndex,0.selectmenu'refresh';至少,当您只需要重置菜单时,强制更改呼叫可能会产生副作用。
var option = $("#ListID option")
option.attr("selected", true);
// option.prop("selected", true);
// option.attr("selected", "selected");
// option.prop("selected", "selected");
$('#ListId').selectmenu("refresh");
// Set Component Separator   jQuery UI SelectMenu
componentSeparatorPlaceHolder.find(".ui-selectmenu-text").html(inputComponentSeparatorStr); 
// Set ComponentSeparatorDropDown
componentSeparator.val(inputComponentSeparatorStr); 
$('#ListId').find('option[value=""]').attr("selected", true);    
$('#ListId').prop('selectedIndex', 0);