Разрешить свободный ввод при вводе бутстрап-тегов (Объекты как теги) - PullRequest
0 голосов
/ 14 октября 2018

Я использую ввод бутстрап-тегов (объекты как теги) для ввода тегов.Он отлично работает с подсказками для typehead js auto complete, как сказано в официальном документе Объекты в виде тегов .Но это позволяет использовать только предложенные теги, другими словами, только те, которые есть в списке Json.Я пытаюсь разрешить бесплатные входы вместе с предлагаемыми тегами из списка со значением по умолчанию (пример: теги stackoverflow).Но я не мог сделать это правильно.Вот мой код:

var cities = new Bloodhound({
            datumTokenizer: Bloodhound.tokenizers.obj.whitespace('text'),
            queryTokenizer: Bloodhound.tokenizers.whitespace,
            local: citilist //{value: 1, text: "Saint Lucia", continent: "Ararat"}... 
        });

        cities.initialize();
        var elt = $('#txt');
        elt.tagsinput({
            itemValue: 'value',
            itemText: 'text',
            typeaheadjs: {
                name: 'cities',
                displayKey: 'text',
                source: cities.ttAdapter()
            },
            freeInput: true
        });
        elt.tagsinput('add', { "value": 1, "text": "Amsterdam", "continent": "Europe" });

1 Ответ

0 голосов
/ 14 октября 2018

Вы можете попробовать этот код.Это работа для меня.Пожалуйста, напишите это с вашим существующим кодом.

var count = 0; 
$('body').on('keydown', '.tt-input', function (e) {
  if (e.keyCode === 9) {
    e.preventDefault();

    elt.tagsinput('add', { 
      value: --count, 
      text: $('.tt-input').val(), 
      continent: "Unsaved" 
    }); 

    $('.tt-input').val("");
  }
});

отрицательное значение - это новый добавленный тег, а положительное значение - это предлагаемые теги.

'.tt-input' - это текстовое поле $('#txt') class.

Редактировать: Предлагая count-- до --count (сначала -1, затем возвращаемое значение), так что value свободных входов начинаются с -1

...