我想在用户选择值后使用 twitter bootstrap Typeahead
运行javascript函数我搜索一些像选定的事件
答案 0 :(得分:34)
$('.typeahead').on('typeahead:selected', function(evt, item) {
// do what you want with the item here
})
答案 1 :(得分:16)
$('.typeahead').typeahead({
updater: function(item) {
// do what you want with the item here
return item;
}
})
答案 2 :(得分:6)
有关typeahead适用于您想要执行的操作的解释,请参考以下代码示例:
HTML输入字段:
<input type="text" id="my-input-field" value="" />
JavaScript代码块:
$('#my-input-field').typeahead({
source: function (query, process) {
return $.get('json-page.json', { query: query }, function (data) {
return process(data.options);
});
},
updater: function(item) {
myOwnFunction(item);
var $fld = $('#my-input-field');
return item;
}
})
说明:
$('#my-input-field').typeahead(
source:
选项以获取JSON列表并将其显示给用户。updater:
选项。 请注意,它尚未使用所选值更新文本字段。item
变量获取所选项目,并使用它执行所需操作,例如myOwnFunction(item)
。$fld
的引用的示例,以防您想要对其执行某些操作。 请注意,您无法使用$(this)来引用该字段。return item;
选项中加入updater:
行,以便输入字段实际使用item
变量进行更新。答案 3 :(得分:5)
我第一次在这里发布了答案(很多时候我在这里找到了答案),所以这是我的贡献,希望它有所帮助。你应该能够发现一个变化 - 试试这个:
function bob(result) {
alert('hi bob, you typed: '+ result);
}
$('#myTypeAhead').change(function(){
var result = $(this).val()
//call your function here
bob(result);
});
答案 4 :(得分:2)
我创建了一个包含该功能的扩展程序。
答案 5 :(得分:2)
根据他们的documentation,处理selected
事件的正确方法是使用此事件处理程序:
$('#selector').on('typeahead:select', function(evt, item) {
console.log(evt)
console.log(item)
// Your Code Here
})
答案 6 :(得分:1)
source: function (query, process) {
return $.get(
url,
{ query: query },
function (data) {
limit: 10,
data = $.parseJSON(data);
return process(data);
}
);
},
afterSelect: function(item) {
$("#divId").val(item.id);
$("#divId").val(item.name);
}