我正在为我的项目使用easyautocomplete插件,但我无法获得触发该插件的元素。
这是元素:
<input class="form-control product-name" type="text" value="" name="item[0][product_name]" id="item_0_product_name" autocomplete="off">
这是jquery代码:
$(".product-name").easyAutocomplete({
url: function(phrase) {
return base+getCurrentUrl()+"?phrase=" + phrase;
},
getValue: "product_name",
list: {
onChooseEvent: function() {
console.log($(this).prop("name"));
console.log($(this).attr("name"));
}
},
});
我的想法是,我想获得触发该插件并获取其属性之一的元素,例如“name”。但每当我从列表中选择一个项目时,它总是返回“未定义”。我试图记录$(this),但只返回“Object”,而不是输入元素。
我该怎么做?有没有其他方法可以做到这一点?任何帮助将不胜感激。
答案 0 :(得分:0)
明白了:) 使用下面的代码,我可以获取触发输入的名称(在多个实例的情况下可以正常工作)
检查'elt'的使用。
$(".form-easyautocomplete").each(function(index,elt){
$(elt).easyAutocomplete({
list: {
onChooseEvent: function () {
console.log(elt.getAttribute('name'),$(elt).getSelectedItemData());
}
}
})
})