2015-09-23 39 views
2

我用select2类型下拉列表,并与值文本对结合和它做正确基于(tenancyname)过滤文本按如下。如何筛选选择2下拉有多个参数

<li class="dropdown" id="liTenancy" style="margin-top: 4px; min-width: 250px !important;">       
         <select class="form-control select2me" data-placeholder="Select..." style="white-space: nowrap;"> 


            @foreach (var Tenancy in Entity) 
            { 
             <option @(SelectedTenancy == Tenancy.TenancyId ? "selected=\"selected\"" : "") value="@Tenancy.TenancyId"> 
              <a class="optionTenancy" href="javascript:void(0);" id="@Tenancy.TenancyId">@Tenancy.TenancyName</a> 
             </option> 
            } 
         </select> 
        </li> 

现在我想用tenancyname(文本)或tenancyid(值)以过滤此列表(用户可以用户既能过滤器列表),那么我怎么可以自定义JS不与远程调用做这件事?

+1

选择二支持自定义'matcher'这是你在找什么。这有一个重复的地方。 –

回答

1

感谢凯文的建议,我发现我的解决方案如下这可以帮助任何其他用户

我已经把价值属性ID和选项标签的alt属性GUID,并使用自定义的匹配如下

$('select.select2me').select2({ 
       placeholder: "Select", 
       allowClear: true,     
       matcher: function (term, text, opt) { 
        return text.toUpperCase().indexOf(term.toUpperCase()) >= 0 
        || opt.attr("alt").toUpperCase().indexOf(term.toUpperCase()) >= 0 
        || opt.attr("value").toUpperCase().indexOf(term.toUpperCase()) >= 0; 
       } 
      });