我第一次使用typeahead,对于你们中的许多人来说这应该是一个简单的问题。我有多个输入元素我正在使用typeahead。所有这些元素都有相同的类。
<input class="typeahead" type="text" id="element_1" >
<input class="typeahead" type="text" id="element_2" >
当typeahead在任何元素上处于活动状态时,我需要确定它的id。这就是我想要的。
$('.typeahead').typeahead({
hint: true,
highlight: true,
minLength: 1
},
{
name: 'items',
displayKey: 'value',
source:populateItems()
});
var populateItems=function(){
return function findMatches(inp, cb) {
console.log("id: "+$(this).id); //this is where i need to find the id
jQuery.get("auto_suggestion.php",function(data){
// some work here ..
cb(res);
});
};
};
我试图在网上看到他们的示例和其他来源,但没有找到太多帮助。
答案 0 :(得分:0)
尝试......
$(this).attr("id");
...这使用jQuery,但使用我一直使用的快速,简单的方法来获取Id属性。
答案 1 :(得分:0)
您无法从数据源功能访问元素。 this
指向Dataset
个对象,并且没有对input元素的引用。但是,您可以在each
循环中初始化typeahead,以便可以访问当前输入元素:
$('.typeahead').each(function() {
$(this).typeahead({
hint: true,
highlight: true,
minLength: 1
}, {
name: 'items',
displayKey: 'value',
source: populateItems(this.id)
})
});
function populateItems (id) {
return function findMatches(inp, cb) {
console.log("id: " + id);
// ...
};
};