Подтвердить что ты не робот

Как отключить создание новых тегов с помощью select2 v4.0?

Я пробовал новый Select2 v4.0, который имеет много улучшений. В основном меня интересует функция tags. Я хочу, чтобы иметь возможность поиска по тегам через AJAX и только быть в состоянии выбрать тег из приведенных результатов, а не быть в состоянии создать новые теги. Функциональность аналогична StackOverflow - если у вас нет необходимой репутации, вы не можете создавать новые теги, но вы все равно можете пометить вопрос существующими тегами.

Вот jsfiddle с моим кодом, который взят из примеров. В этом примере вы можете создать новые теги, которые я хочу ограничить. Пользователь должен иметь возможность выбирать теги только из списка, полученного из GitHub через ajax.

Кто-нибудь знает, как отключить эту функцию?

4b9b3361

Ответ 1

Это должно работать - при инициализации select2 попробуйте вернуть undefined из функции createTag следующим образом:

createTag: function(params) {
                return undefined;
           }

Ответ 2

Я тоже борется с этим, но заработал через несколько часов.

Я указал несколько разделителей токенов (потому что моим посетителям разрешено создавать теги в другом месте на веб-сайте). Оказывается, сепараторы все еще применяются, даже если для конфигурации tags установлено значение false.

Решение: tags: false и НЕ добавляйте значение для tokenSeperators. Держите multiple: true.

Ответ 3

Вы можете отключить теги, удалив tags: true при инициализации Select2. Или, альтернативно, установка tags: false при инициализации Select2. Метки включены только если опция tags правдива, которая есть, когда вы проходите в true.

Ответ 4

Я не уверен, что мне следует добавить сюда следующее, но, поскольку я искал ту же проблему, Google указал мне на этот вопрос. Однако я использую более старую версию 3.x, и это то, как добиться того же сценария для версий 3.x.

Проверено на версии 3.5

createSearchChoice: function(params) {
    return undefined;
}