Заполните поле selectize.js, не вызывая событие item_add - PullRequest
0 голосов
/ 04 февраля 2019

Как вы selectize.addItem("value") не вызываете item_add?


У меня есть поле тегов, которое зависит от другого выбора.Мне нужно автоматически заполнять теги всякий раз, когда изменяется другое выделение, а затем мне нужно, чтобы слушатель запускал код всякий раз, когда пользователь добавляет или удаляет тег.Я не могу понять, как добавить теги программно, не вызывая событие item_add, но я не хочу, чтобы он запускался до того, как пользователь коснулся тегов.

(есть addItem(…, silent), ноесли я не ошибаюсь, это только останавливает запуск события change.)

Пример кода:

$('#input-tags').selectize({
  onItemAdd: function() {
    alert("This should only appear by user action");
  }
});
$tags = $('#input-tags')[0].selectize;
$tags.addItem("awesome");
$tags.addItem("neat");

JSFiddle

1 Ответ

0 голосов
/ 20 февраля 2019

Одно из решений (и единственное, которое я знаю) - удалить прослушиватели событий до addItem s и добавить их потом.Хотя вряд ли это кажется идеальным, особенно если это нужно сделать несколько раз.

...