简体   繁体   English

如何检查是否在 sumoselect 中选中了全选选项

[英]How to check if select all option is checked in sumoselect

I have just come across SumoSelect.js for dropdowns in my MVC project.我刚刚在我的 MVC 项目中遇到了SumoSelect.js的下拉菜单。 I just wanted to know if there is way to know if the select all option of the sumoselect dropdown is checked or not.我只是想知道是否有办法知道 sumoselect 下拉列表的全选选项是否被选中。 This is my sumoslect drop down code.这是我的 sumoslect 下拉代码。

   <div>
    @Html.LabelFor(m => m.Territory)
    @Html.DropDownListFor(m => m.Territory, Model.Territories, new { @class = "form-control", id = "ddlTerritory", multiple = "multiple", placeholder = "Select Territory" })
    @Html.ValidationMessageFor(m => m.Territory)
   </div>

JavaScript Code JavaScript 代码

 $(document).ready(function () 
  {
    $('#ddlTerritory').SumoSelect({ selectAll: true });
    if ($('#ddlTerritory')[0].sumo.selectAll())
        {
           some code
        }
  }

There is no mention of such method in the documentation of sumoselect. sumoselect 的文档中没有提到这种方法。 It would be great if some one can guide me in the right direction.如果有人能指导我朝着正确的方向前进,那就太好了。

Edit: As Suggested by @stephen编辑:正如@stephen 所建议的

$(document).ready(function () 
      {
        $('#ddlTerritory').SumoSelect({ selectAll: true });
var isChecked = $('#ddlTerritory').closest('.SumoSelect').find('.select-all')‌​.hasClass('.select')‌​;
        if (isChecked)
            {
               some code
            }
      }

this quite tricky, that I count selected items with total options:这相当棘手,我计算了具有总选项的选定项目:

function isMultipleSelectAll(id) {
    var ids = $(id).val();
    let options = $(id + " option");

    let totalSelected = ids.length;
    let totalOptions = options.length;

    if (totalSelected >= totalOptions) {
        return true;
    } else {
        return false;
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM