3

データを送信するために先行入力を取得するにはどうすればよいですか。

jsfiddle http://jsfiddle.net/6W3Qu/2/の関連コードは次のとおりです。

コードのコピー:

var numbers = new Bloodhound({
datumTokenizer: function(d) { return Bloodhound.tokenizers.whitespace(d.num); },
queryTokenizer: Bloodhound.tokenizers.whitespace,
local: [
{ num: 'one' },
{ num: 'two' },
{ num: 'three' },
{ num: 'four' },
{ num: 'five' },
{ num: 'six' },
{ num: 'seven' },
{ num: 'eight' },
{ num: 'nine' },
{ num: 'ten' }
]
});

// initialize the bloodhound suggestion engine
numbers.initialize();

// instantiate the typeahead UI
$('.typeahead').typeahead(null, {
displayKey: 'num',
source: numbers.ttAdapter(),
updater: function(item) {
    alert(item);
}
});

アップデーター機能に入らないようです

4

1 に答える 1

1

Typeahead.js には「updater」オプションがありません。

代わりに、typeahead の選択されたイベント (つまり、typeahead:selected) を使用するイベント ハンドラーを書くことができます。

var numSelectedHandler = function (eventObject, suggestionObject, suggestionDataset) {
    alert(suggestionObject.num);
};

typeahead.on('typeahead:selected', numSelectedHandler);

実際の例は次の場所にあります。

http://jsfiddle.net/Fresh/TXQdy/

于 2014-02-25T22:39:40.243 に答える