jQuery自动完成:如何获取HTML项目的“id”属性?

时间:2016-07-08 15:34:45

标签: javascript jquery html autocomplete jquery-ui-autocomplete

jQuery对我来说是新的,感谢与我的关系。

我在HTML中有一些文本输入:

<input type="text" class="NameTextID" id="fn.1">
<input type="text" class="NameTextID" id="ln.1">
<input type="text" class="EmailAddressTextID" id="ea.1">

两个输入为 NameTextID,一个为 {{1} }。请注意,每个 id 都是唯一的。

然后我想在任何带有 class 的DOM项目上利用jQuery的自动完成功能。

EmailAddressTextID

现在,在函数recEngine中:

$(document).ready(function() {
    $(function() {
        $( ".NameTextID" ).autocomplete({
            source: recEngineNames,
            minLength: recMinCharCount,
            select: recEngine
        });
        $( ".EmailAddressTextID" ).autocomplete({
            source: recEngineEmails,
            minLength: recMinCharCount,
            select: recEngine,
        });
    });
});

jQuery传递两个参数,如果激活recEngine函数的ui项,如何获取 id

提前致谢!

3 个答案:

答案 0 :(得分:2)

你可以这样做: -

var selected_id = this.id;

其中this指的是当前被引用的元素。

答案 1 :(得分:0)

您可以像这样访问它: ui.item.id

答案 2 :(得分:0)

首先,您可以使用逗号','分隔多选择器。

然后,要获取触发事件的元素,您可以使用关键字thisevent.target。 要获取其ID,您可以使用$(event.target).attr('id')

$(event.target).attr(&#39; ID&#39)

$(document).ready(function() {
    $(function() {
        $( ".NameTextID, .EmailAddressTextID" ).autocomplete({
            source: recEngineNames,
            minLength: recMinCharCount,
            select: recEngine
        });
    });
});

var recEngine = function(event, ui) {
    var selected_value = ui.item.value;
    var selected_id = $(event.target).attr('id');
}