【问题标题】:jQuery set Multi Select OptGroup optionsjQuery 设置多选 OptGroup 选项
【发布时间】:2015-04-28 21:49:48
【问题描述】:

我有一个带有 OptGroup 的多选列表,如下所示:

<select multiple="multiple" id="idCountry">
    <optgroup label="ASIA">
      <option value="AUSTRALIA">AUSTRALIA</option>
      <option value="CHINA">CHINA</option>
    </optgroup>
    <optgroup label="EUROPE">
      <option value="FRANCE">FRANCE</option>
      <option value="UK">UK</option>
    </optgroup>
</select>

如何让 jQuery 按标签仅为用户选择欧洲的所有目的地?如何按标签取消选择 Optgroup 中的所有目的地?

为 Ejay 的娱乐而添加。这是我尝试过的,但它不起作用,我不知道从这里去哪里。

$(".chkRegion").click(function () {
    if (this.checked) {
        var optgroup = $('select optgroup[label="' + this.checked + '"]')
        optgroup.attr('selected', true);
    }
});

【问题讨论】:

  • 写一些代码来完成任务,如果你在某个时候卡住了,可以在这里发布。
  • @JimC 上面的请求不是为了娱乐;它是一个相对要求;如果您希望人们投入时间和精力来帮助您,那么您至少可以自愿做您已经尝试过的事情;它在几个方面有所帮助。一方面,我们知道您已经努力解决您的问题。对于两个,我们知道您尝试了什么以及为什么它不起作用,并且可以更好地指导您找到解决方案。对于三个人,我们知道什么不能给你。
  • 好的,下次我会注意的。

标签: javascript jquery


【解决方案1】:

设置

$('optgroup[label=EUROPE] option').prop('selected',true);

更改标签值并相应地取消选择

DEMO

【讨论】:

    【解决方案2】:
    var element = $('optgroup[label=EUROPE] option');
    element.prop('selected', 'selected');
    

    如果您有多个具有相同组标签的选择,请在选择器中添加选择的 id

    var element = $('#idCountry optgroup[label=EUROPE] option');
    element.prop('selected', 'selected');
    

    JSFiddle demo

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多