web-dev-qa-db-ja.com

select2 v4.0で新しいタグの作成を無効にする方法は?

私は新しい Select2 v4.0 を試してきましたが、これには多くの改善点があります。私は主にtags機能に興味があります。 ajaxを介してタグを検索できるようにしたい、およびonly表示された結果からタグを選択できて、新しいタグを作成できないようにしたい。機能はStackOverflowに似ています。必要なレピュテーションがない場合、新しいタグを作成できませんが、既存のタグで質問にタグを付けることができます。

これが jsfiddle であり、コードは例から取ったものです。この例では、制限したい新しいタグを作成できます。ユーザーは、ajaxを介してGitHubから取得したリストからのみタグを選択できる必要があります。

誰かがこの機能を無効にする方法を知っていますか?

23
tftd

これは機能するはずです。select2の初期化では、次のようにcreateTag関数からundefinedを返してみてください。

createTag: function(params) {
                return undefined;
           }
40
SnowJon

私もこれに苦労していますが、数時間後にはうまくいきました。

私はいくつかのトークンセパレーターを指定しました(訪問者はWebサイトの別の場所にタグを作成することが許可されているため)。 tags構成がfalseに設定されている場合でも、セパレーターがまだ適用されていることがわかります。

解決: tags: falseおよびtokenSeperatorsの値を追加しないでください。保つ multiple: true

19
Rob

Select2を初期化するときにtags: trueを削除すると、タグを無効にできます。または、Select2を初期化するときにtags: falseを設定します。タグが有効になるのは tagsオプションがtrueの場合 であり、これはtrueを渡すときです。

4
Kevin Brown

ここに以下を追加する必要があるかどうかはわかりませんが、同じ問題を検索していたため、googleがこの質問を指摘しました。しかし、私は古いバージョン3.xを使用しており、これが3.xバージョンで同じシナリオを実現する方法です。

バージョン3.5でテスト済み

createSearchChoice: function(params) {
    return undefined;
}
0
Mostafa Hussein