代码之家  ›  专栏  ›  技术社区  ›  RA19

如果选择了第一个选项,jQuery将多选所有值

  •  2
  • RA19  · 技术社区  · 6 年前

    它似乎在选择值,但不检查前端的选项。

    代码示例: https://www.codeply.com/go/ExFJtHShnF

    我写的Jquery代码-没有正常工作

    $("#basic").change(function () {   
        if ( $("#basic option:first").prop('selected') ) {
            $('#basic option').prop('selected', true);
        }
    });
    
    1 回复  |  直到 6 年前
        1
  •  5
  •   Rory McCrossan Hsm Sharique Hasan    6 年前

    为了使这项工作,你需要使用一个委托代理 change

    你可以打电话给我 selectAll deselctAll checked 第一个框的属性,如下所示:

    $('#basic').multiselect({
      templates: {
        li: '<li><a href="javascript:void(0);"><label class="pl-2"></label></a></li>'
      }
    });
    
    $(document).on('change', '.multiselect-container :checkbox:first', function() {
      $('#basic').multiselect(this.checked ? 'selectAll' : 'deselectAll').multiselect('refresh');
    });
    <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" />
    <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" />
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-multiselect/0.9.13/css/bootstrap-multiselect.css" />
    <script src="//ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
    <script src="//cdnjs.cloudflare.com/ajax/libs/popper.js/1.13.0/umd/popper.min.js"></script>
    <script src="//maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-multiselect/0.9.13/js/bootstrap-multiselect.min.js"></script>
    <div class="container">
      <br /><br />
      <select class="custom-select" id="basic" multiple="multiple">
        <option value="0">All</option>
        <option value="cheese">Cheese</option>
        <option value="tomatoes">Tomatoes</option>
        <option value="mozarella">Mozzarella</option>
        <option value="mushrooms">Mushrooms</option>
        <option value="pepperoni">Pepperoni</option>
        <option value="onions">Onions</option>
      </select>
    </div>