2

我使用了select2类型的下拉菜单并与值-文本对绑定,并且它正在根据(tenancyname) 文本正确地进行过滤,如下所示。

<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?

4

1 回答 1

2

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

我已将 id 放入 value 属性中,并将 guid 放入 option 标签中的 alt 属性中,并使用自定义匹配器,如下所示

$('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;
                }
            });
于 2015-09-24T16:19:45.693 回答