首页 > 解决方案 > 如何从select2的下拉列表中删除重复的选项

问题描述

大家好,我正在使用来自多选下拉的 select2 插件,我通过模型绑定值,但我在下拉列表中得到重复值。我需要从下拉列表中删除这些重复项。

这是我的下拉列表:

    <div class="col-lg-3 col-sm-6">
    <div class="form-group">
       <select name="WhoAmIs" id="WhoAmIs" ng-model="data.WhoAmIs" class="form-control whoAmIDuplicates" multiple>
          @foreach (var whoamiall in Model.WhoAmI)
           {
             foreach (var whoami in whoamiall.WhoAmIAll)
             {
               <option value="@whoami.Name">@whoami.Name</option>
             }
           }
        </select>
    </div>
</div>

这是我的jQuery:

jQuery("#WhoAmIs").select2({
                maximumSelectionLength: 3,
                placeholder: jsResources.BusinessDirectory.SelectGroups+' '+ '('+jsResources.BusinessDirectory.Limit+'  '+'3)',
                allowClear: true
            });

我试过了,它删除了多个值,但在代码中评论了我的 jquery

$(".whoAmIDuplicates option").val(function(idx, val) {
              //alert("hi" +" "+ val);
                $(this).siblings("[value='"+ val +"']").remove();
            });

标签: javascriptc#jqueryasp.net-mvcjquery-select2

解决方案


也许这样:

foreach (var whoami in whoamiall.WhoAmIAll.Select(x => x.Name).Distinct())
{
    <option value="@whoami.Name">@whoami.Name</option>
}

推荐阅读