6

ブートストラップ 3 タイプアヘッドをタグ入力と統合するのに問題がありますが、オブジェクトはタグとして統合します。入力フィールドで先行入力のみを使用すると機能しますが、タグ入力と統合すると機能せず、本当にイライラするエラーも発生しません。これが私のコードです:

var places = [{name: "New York"}, {name: "Los Angeles"}];
//this works
$('input').typeahead({
    source: places
});

//this doesn't
$('input').tagsinput({
    freeInput: false,
    confirmKeys: [44],
    typeahead: {
        source: places
    }
});

私は何か間違ったことをしていますか、それともこれはバグですか?

誰かがこれの実際の例を持っている場合、私は本当に助けていただければ幸いです.bootstrap 3 typeaheadの代わりにtypeahead.jsにすることができます.私もそれを使用しようとしましたが、うまくいきます.先行入力のオプションをクリックして入力すると、そのオプションをタグとして受け入れるだけでなく、フォーム全体が送信されます。

4

1 に答える 1

10

オプションを使用して、typehead を tagsinput にアタッチする必要がありtypeaheadます。これははるかに簡単です(およびドキュメントが示唆すること)。次に、map() places文字列の配列にすると動作します:

$('.tagsinput-typeahead').tagsinput({
  // other tagsinput options here
  typeahead: {
    source: places.map(function(item) { return item.name }),
    afterSelect: function() {
       this.$element[0].value = '';
    }
  }
}) 

デモ -> http://jsfiddle.net/gm3a1s9k/1/

に注意してくださいafterSelect()入力をクリアするために必要です

于 2016-02-20T10:55:36.383 に答える