如何获取元素触发easyautocomplete

时间:2016-07-30 10:42:24

标签: javascript jquery jquery-ui autocomplete

我正在为我的项目使用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”,而不是输入元素。

我该怎么做?有没有其他方法可以做到这一点?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

明白了:) 使用下面的代码,我可以获取触发输入的名称(在多个实例的情况下可以正常工作)

检查'elt'的使用。

$(".form-easyautocomplete").each(function(index,elt){
        $(elt).easyAutocomplete({
        list: {
            onChooseEvent: function () {
                console.log(elt.getAttribute('name'),$(elt).getSelectedItemData());
            }
        }
     })
})