获取jquery自动完成输入

时间:2014-03-25 10:47:09

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

$(function() {
    $(window).scroll(doSomething);
    $(window).resize(doSomething);
});

function doSomething()
{
    var autocomplete = $(".ui-autocomplete:visible");
    // How can I get input DOM element of currently shown autocomplete there?
}

如果我不在自动完成声明的范围内,如何获取当前显示的自动完成的输入DOM元素?

2 个答案:

答案 0 :(得分:0)

我的解决方案:

var currentAutocompleteTextbox = null; //global variable

$(textbox).focus(function () { currentAutocompleteTextbox = textbox; });
$(textbox).autocomplete({ ... });

有人可以提出更好的方法吗?

答案 1 :(得分:0)

你的目标不明确。 如果你想要的是获得最后一个交互式自动填充文本框,最好的办法是使用其中一个自动完成插件事件。下面是使用焦点事件的示例代码。回调函数将以相应的输入文本框作为上下文执行;因此this会指向 文本框。

$(".language").autocomplete({
        source: availableTags,
        focus: function(evt, ui){
            var txtbx = $(this).parent().prev().text();
            $('#result').html(txtbx + ' textbox last focused');
        }
    });

Fiddle