【问题标题】:Disable other options in a dropdown, if clicked on the first option如果单击第一个选项,则禁用下拉列表中的其他选项
【发布时间】:2015-01-16 21:20:49
【问题描述】:

我有一个下拉菜单,我可以选择多个选项。如果我选择其中一个选项,我需要禁用其余选项。

例如: 在下面的代码中,如果我选择全部选项,我需要禁用其余选项。

<select id="searchRegion" name="searchRegion" multiple="multiple">
<option> Choose Region(s) </option>
<option value="all"> All </option>
<option value="East"> East </option>
<option value="North"> North </option>
<option value="West"> West </option>
<option value="South"> South </option>
</select>

image

【问题讨论】:

标签: javascript jquery html


【解决方案1】:

http://jsfiddle.net/xn9rg0kd/

$("#searchRegion").on("change", function(){
    if ($(this).val()[0] == "All"){
     $("#searchRegion option:selected").siblings().attr('disabled', 'disabled');
    }
});

【讨论】:

    【解决方案2】:

    试试

    var $searchRegion = $('#searchRegion').change(function() {
      var isAll = $searchRegion.find('[value="all"]').is(':selected');
      if (isAll) {
        $searchRegion.val('all');
      }
      $searchRegion.find('option').not('[value="all"]').prop('disabled', isAll);
    })
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <select id="searchRegion" name="searchRegion" multiple="multiple">
      <option>Choose Region(s)</option>
      <option value="all">All</option>
      <option value="East">East</option>
      <option value="North">North</option>
      <option value="West">West</option>
      <option value="South">South</option>
    </select>

    【讨论】:

    • 选择后如何取消选择?
    • @CodingAnt 存在这样的 UI 设计问题...您可以使用 ctrl + click 取消选择
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多