我使用了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(text)或tenancyid(value)过滤此列表(用户可以同时使用两者来过滤列表)那么如何在不使用远程调用的情况下自定义js? ?
答案 0 :(得分:1)
感谢kevin的建议,我发现我的解决方案如下,这对其他任何用户都有帮助
我在id属性中放了id,在option标签的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;
}
});