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 を入れ、オプションタグの 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;
                }
            });
于 2015-09-24T16:19:45.693 に答える