select2 検索 - 検索語で始まる単語のみに一致します 質問する

select2 検索 - 検索語で始まる単語のみに一致します 質問する

私にとってはよりうまく機能するため、choose プラグインから select2 プラグインに移行しましたが、choose プラグインと比較するとドキュメントが非常に貧弱です。select2 検索機能を使用して、検索語で始まる単語 (途中に含まれない単語) をフィルター処理するには、どのオプションを使用すればよいか教えてください。

select2 フィールドにバナナ、リンゴ、パイナップルのオプションがあるとします。

ユーザーが「app」(または apple) と入力すると、apple のみが返されるはずです (apple で始まる唯一の単語であるため)。現在は、apple と pineapple の両方が返されます。

いろいろ調べた結果、カスタム マッチャーを使用する必要があることがわかりましたが、今のところはそれだけです。

ベストアンサー1

セレクト2 4.0.0

function matchStart(params, data) {
    params.term = params.term || '';
    if (data.text.toUpperCase().indexOf(params.term.toUpperCase()) == 0) {
        return data;
    }
    return false;
}

$("select").select2({
    matcher: function(params, data) {
        return matchStart(params, data);
    },
});

おすすめ記事