jQuery自动完成:在select上解析来自同一数组的其他键

时间:2012-12-17 00:43:35

标签: jquery json jquery-ui autocomplete

我有一个自动完成代码段,可根据您的搜索字词检索城市名称。

例如,搜索字词s会打印出来:

enter image description here

所以如果我愿意的话:

var f = [];
$.each(a.RESULTS, function (a, b) {
    f.push(b.name /* + b.zmw */)
});
b(f)

我会打印每个城市的name

直播示例:http://jsfiddle.net/muWah/18/

每当我点击它时,我怎么能打印/ console.log()每个城市的zmw值。

因此,当我点击Serbia时,我应该打印000RB.1.99999

1 个答案:

答案 0 :(得分:3)

$.each(a.RESULTS, function (a, b) {
   f.push({label: b.name, value : b.zmw})
});

您可以使用标签和值推送新对象。 标签是自动完成的选择,值是选中时输入中显示的值。

DEMO:http://jsfiddle.net/muWah/21/

如果您想在控制台中只有zmw引用,而不是在输入中打印出来,则可以向传递的对象添加更多属性。例如:

$.each(a.RESULTS, function (a, b) {
    f.push({label: b.name, value : b.name, zmw : b.zmw})
});

然后b.item.zmw将是您在控制台中打印出来的内容,但名称/值仍为"Serbia"(或您点击的任何内容)

DEMO:http://jsfiddle.net/muWah/24/