如何在源回调中检索jQuery UI自动完成?

时间:2011-04-09 03:10:03

标签: javascript jquery jquery-ui

我有以下代码,设置jQuery UI autocomplete

$('input').autocomplete({
    source : function(request, response) {
        $.getJSON('/path?c_ajax=1', { input_value: request.term }, function(return_data) {
            if (/* check to see if data is valid */) {
                response(return_data.suggestions);
            } else {
                $('input').field_suggest('option', 'disabled', true);
                response(new Array);
            }
        });
    }
});

我想知道除了$('input')或类似之外,是否还有其他方法可以获得自动完成功能?我的理由是,我可能在1页上为同一个字段设置了多个自动复合,我想确保我有正确的。

编辑:在没有使用选择器获取原始输入并因此获得自动完成的情况下,是否无法在源代码中获取jQuery自动完成功能?

2 个答案:

答案 0 :(得分:2)

如果自动复合的排序很重要,您可以使用:eq选择器或.eq方法在特定的(从零开始)索引中获取其中一个,如下所示:

// first input on the page
$("input:eq(0)").autocomplete("search", "foo");

// third input in <form id="form">
$("#form input").eq(2).autocomplete("search", "foo");

答案 1 :(得分:1)

为什么不在元素中添加特定的类或id?像这样:

$('input.hello') //<input class="hello" type="text" />
$('input.hello2') //<input class="hello2" type="text" />
$('input#unique') //<input id="unique" type="text" />

欢呼声