如何提交从先行猎犬自动完成填充的数据

时间:2014-02-24 19:35:37

标签: javascript bootstrap-typeahead typeahead.js bloodhound

如何获得提交数据的预先输入。

以下是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);
}
});

似乎没有进入更新程序功能

1 个答案:

答案 0 :(得分: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/