【问题标题】:Change second dropdown based on first dropdown根据第一个下拉列表更改第二个下拉列表
【发布时间】:2016-12-05 04:07:37
【问题描述】:

我想根据第一个下拉菜单的选择更改第二个下拉菜单,但它现在不起作用。我正在使用 bootstrap select 的 selectpicker 和 form-group 类,尽管我不确定它是否会导致问题。

在选择第一个下拉菜单之前禁用第二个下拉菜单,并且只显示与数据组选择匹配的项目。

HTML:

<select id="seasons" class="selectpicker form-group" title="Choose season" onchange="filterSeason();">
    <option value='2013-14'>2013-14</option>
    <option value='2014-15'>2014-15</option>
    <option value='2015-16'>2015-16</option>
    <option value='2016-17'>2016-17</option>
</select>
<select id="clubs" class="selectpicker form-group" title="Choose club" disabled>
    <optgroup data-group='2013-14' label="England">
        <option data-group='2013-14' value='ENG1'>Team 1</option>
        <option data-group='2013-14' value='ENG2'>Team 2</option>
    </optgroup>
    <optgroup data-group='2014-15' label="Spain">
        <option data-group='2014-15' value='SPA1'>Team 3</option>
    </optgroup>
    <optgroup data-group='2015-15' label="Germany">
        <option data-group='2015-16' value='GER1'>Team 4</option>
        <option data-group='2015-16' value='GER2'>Team 5</option>
        <option data-group='2015-16' value='GER3'>Team 6</option>
    </optgroup>
</select>

jQuery:

function filterSeason() {
      var seasons = $("#seasons").find('option:selected').text(); 
      $("#option-container").children().appendTo("#clubs");
      var selectSeason = $("#clubs").children("[data-group!='"+seasons+"']"); 
      selectSeason.appendTo("#option-container");
      $("#clubs").removeAttr("disabled");
};

【问题讨论】:

  • 所以您只希望数据组中的项目可以选择吗?请将#option-container 值也包含在您的问题中
  • 我认为: 应该是

标签: javascript jquery html twitter-bootstrap


【解决方案1】:

如果我理解正确的话,我想这就是你所需要的。

使用$("#clubs").children().removeAttr('disabled'); 启用所有子级,然后禁用与此$(selectSeason).attr('disabled','disabled'); 无关的子级

请检查这个小提琴

FIDDLE

【讨论】:

  • 谢谢! @Muhammed Shevil KP。没有类工作,但仍然不能与类一起工作。猜猜可能会有一些冲突。
  • 我不太明白你说的Works without the class, but still doesn't work with the class是什么意思
  • 我的意思是我必须删除 "class="selectpicker form-group"" 才能让它工作
  • 但它可以在不对该类进行任何更改的情况下工作。请检查小提琴更新
  • 这个问题帮助解决了我的问题:stackoverflow.com/questions/27317296/…
猜你喜欢
  • 2014-11-16
  • 2014-09-04
  • 2021-08-19
  • 1970-01-01
  • 1970-01-01
  • 2013-12-06
  • 1970-01-01
  • 2012-01-04
  • 2018-09-21
相关资源
最近更新 更多