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

好像没有进入updater功能

4

1 回答 1

1

Typeahead.js 没有“更新程序”选项。

相反,您可以编写一个事件处理程序,它将使用 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 回答