У меня есть текстовый ввод, который питается от Bootstrap Tagsinput
. В настоящее время этот текстовый ввод инициализируется одним списком тегов, которые используются в Typeahead
автозаполнении:
$('.tagsInput').tagsinput({
maxChars: 25,
maxTags: 5,
typeaheadjs: [{
minLength: 1,
highlight: true
},{
minlength: 1,
source: new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.whitespace,
queryTokenizer: Bloodhound.tokenizers.whitespace,
local: allTags
})
}],
freeInput: true
});
где allTags
представляет собой массив строк Json.
Однако я хотел бы добиться того, чтобы вместо простого списка тегов, т.е. allTags
, у меня была бы какая-то функция, которая имеет доступ к разным спискам, а затем могла бы выбрать правильный в зависимости от значения некоторого элемента . Например, будет раскрывающийся список, и в зависимости от выбранного значения будет использоваться другой список тегов. Я не смог этого добиться.
Я нашел обходной путь, хотя, в основном, я играю с именами классов моего элемента ввода текста и инициализирую столько tagsInput для стольких имен классов, сколько есть списков. Это работает, но кажется слишком гимнастическим и не очень чистой реализацией.
Любые идеи?
ОБНОВЛЕНИЕ: вот HTML:
<input id="tags" name="tags" data-role="tagsinput" class="form-control input-sm tagsInput typeahead" type="text" placeholder="Enter some tags" title="Please enter some tags" value="" required>
select
это обычный select
.