如何在jQuery ui selectmenu中动态选择选项?
将菜单从常规选择更改为jQuery selectmenu后,我无法再以编程方式选择其中的选项。有办法做到这一点吗 要选择的代码假定ListId是列表的实际Id如何在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
$('#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);