jQuery自动完成 - 在不更改请求的情况下获取响应?

时间:2012-10-16 02:12:16

标签: javascript jquery autocomplete jquery-autocomplete

我正在使用jQuery的autocomplete函数从 suggest_address.php 中获取可能的输入标签/值。

看起来像这样:

enter image description here

通常 suggest_address.php 会返回 标签 的关联数组。

但是由于 suggest_address.php 确定输入是“zip”类型还是“city”类型,我会返回一个额外的键/值对:“type”:“city”或“type” “:”zip“。

我想将此值存储为输入框中的属性,以便它可以在以后的查询中使用。

我该怎么做? 我知道自动完成功能的source参数可以是一个接收请求和响应的函数,但是如何在不修改源的情况下从中获取响应?

现在我的初始化看起来像这样:

$('#addresssearch').autocomplete({
                    source: 'suggest_address.php',
                    minLength: 2
                });

1 个答案:

答案 0 :(得分:2)

每个响应的数据对象可以包含您想要的任何其他键/值对。然后它们被包含在事件处理程序的ui参数中。

例如

{ label:'Chicago', value:'chicago', bestPizza: 'Chicago Pizza'}


$('#addresssearch').autocomplete({
    source: 'suggest_address.php',
    minLength: 2,
    select: function(event, ui) {
        var pizza = ui.item.bestPizza;
    }
});

对于以下API演示中的“View Source”的jQueryUI现场演示示例clcik:

http://jqueryui.com/autocomplete/#custom-data