允许在 bootstrap 标签输入中自由输入(对象作为标签)

Allow free input in bootstrap-tags input (Objects as tags)

我正在使用 bootstrap-标签输入(对象作为标签)作为我的标签输入。正如官方文档所说 Objects as tags,它与 typehead js 自动完成建议一起工作得很好。但这只允许建议的标签作为输入,换句话说,只允许 Json 列表中的标签。我试图允许 freeinputs 以及列表中具有默认值的建议标签(例如:Whosebug 标签)。但我做不到。 这是我的代码:

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" });

You can try this code. It's work for me. Please write this with your existing code.

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

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

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

negative value is new added tag and positive value is suggested tags.

'.tt-input' is text box $('#txt') class.

编辑:建议 count----count(首先是 -1,然后是 return 值),以便 value 的自由输入从 -1

开始