【问题标题】:Disable unselected options from optgroup in mulitiselect dropdown using jquery使用 jquery 在多选下拉列表中禁用 optgroup 中未选择的选项
【发布时间】:2013-09-13 19:02:53
【问题描述】:

在我的多选中,我有几个 optgroups 。 我想允许用户从 optgroup 中仅选择一个选项。 一旦用户从任何 optgroup 中选择任何一个选项,我想禁用同一组中的所有其他选项,而不是其他 optgroups 。 我尝试了以下代码 html

    <option selected="selected" label="All" value="">All</option>
<optgroup label="fruits" class="fruit">
    <option label="apple" value="1">Apple</option>
    <option label="pear" value="2">Pear</option>
    <option label="orange" value="3">Orange</option>
</optgroup>
<optgroup label="berries" class="berries">
    <option label="strawberry" value="4">Strawberry</option>
    <option label="raspberry" value="5">Raspberry</option>
    <option label="blueberry" value="6">Blueberry</option>
</optgroup>

Javascript:

$("#fruits").change(function () {
    $("#fruits option").filter(":selected").parent("optgroup").prop('disabled', true);
});

Jsbin 链接 jsbin

上面的代码禁用了来自特定 optgroup 的所有选项,我希望不应该禁用所选的选项。

【问题讨论】:

  • 除了jsbin之外,你应该在这里发布你的代码
  • 那么你的问题是什么?
  • .filter(":selected") 这是选择所有选定的项目。

标签: javascript jquery drop-down-menu


【解决方案1】:

JS Bin

不要这样做:

.parent('optgroup')

这样做:

.siblings('option')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-25
    • 1970-01-01
    相关资源
    最近更新 更多