通过 jQuery 在选择菜单中添加禁用的选定选项
Posted
技术标签:
【中文标题】通过 jQuery 在选择菜单中添加禁用的选定选项【英文标题】:Add disabled selected option in select menu via jQuery 【发布时间】:2015-03-25 09:53:15 【问题描述】:我们有一个通过 data- 属性和一个 knockout.js 数组填充的选择菜单。我对 jQuery 也不是很熟悉,请记住这一点。
如何通过 jQuery 添加一个选项,该选项是第一个选择的选项,并且它也被禁用。基本上,它被用作占位符。我知道如何通过 html 做到这一点,但不是这样。这是正在使用的 HTML:
<select id="delemilter" data-bind="options: delimiterList, value: delimiterSelectedValue, optionsValue: 'value', optionsText: 'name', enable: true"></select>
在其他选择菜单中,我们的一位开发人员使用了这行 jQuery。似乎是一些淘汰 API 的东西。看起来像一个可观察的数组:
self.selectMenuID.push( value: 'Placeholder Text', key: 0, data: 0, disabled: true );
无法弄清楚如何再次重用它...希望这是足够的信息。
谢谢!
【问题讨论】:
【参考方案1】:你可以这样做:
$('#delemilter').prepend('<option disabled="disabled">My disabled Option</option>');
记得根据需要在我们选项的html中指定其他属性。
这是一个适合您的 JSFiddle:http://jsfiddle.net/loanburger/ask9L71h/
【讨论】:
太棒了,谢谢!现在我必须弄清楚为什么它仍然选择第二个选项(最初是第一个),即使我在.prepend
上有一个selected
属性。可能需要开发人员的帮助。但这确实有效,只是不完全适合我的具体情况。【参考方案2】:
我发现这种方式更加优雅和可读:
$("select").append($("<option>",
value: "foo",
text: "bar"
).prop("disabled", true));
【讨论】:
以上是关于通过 jQuery 在选择菜单中添加禁用的选定选项的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 javascript/jquery 在选择下拉菜单中启用/禁用引导选项