我想显示喜欢的建议 STREET NAME>城市>国家(我从服务器进入json的4种不同的街道,城市,国家,网址) 当我选择一个它会像链接一样去url 并将突出显示我在建议中找到的字母 我该怎么做? 这是我的代码
<script type="text/javascript">
$('#search').autocomplete({
source: function(req, add){
//pass request to server
$.getJSON("suggest.php?callback=?", req, function(data) {
//create array for response objects
var suggestions = [];
//process response
$.each(data, function(i, val){
suggestions.push(val.lable+' '+val.value+' '+val.both);
});
//pass array to callback
add(suggestions);
});
},
select: function(e, ui) {
$('#search').val(ui.item.lable);
},
width: 300,
max: 10,
delay: 50,
minLength: 1,
scroll: false,
highlightItem: true
});
</script>
服务器响应
([{"lable":"apartamentos mojácar beach","value":"mojacar","both":"spain"},{"lable":"hotel mandakini grand","value":"new delhi","both":"india"},{"lable":"hotel sol y mar sharming inn","value":"sharm el sheikh","both":"egypt"},{"lable":"la quinta inn and suites sarasota","value":"sarasota","both":"usa"},{"lable":"ocean sand golf and beach resort","value":"punta cana","both":"dominican republic"},{"lable":"rooms barcelona","value":"barcelona","both":"spain"},{"lable":"villa maroc essaouira","value":"essaouira","both":"morocco"},{"lable":" il casale farmhouse with panoramic swimming poo","value":"bettona","both":"italy"},{"lable":" shelley's ","value":"lynton","both":"united kingdom"},{"lable":" 1 melrose blvd by seasons in africa","value":"johannesburg","both":"south africa"}]);
我知道问题出在自动填充的“SELECT”和“SOURCE”字段中,但我不知道如何使用它。 如何解析响应,以便它可以工作。它仅适用于一个字段,但不适用于4个字段(vars)
//////////////////////
好吧现在我可以从服务器获得3个virables我将它们添加到源代码中。 但我不能一直选择一个它选择所有的字符串! 我怎么能管理呢?
答案 0 :(得分:1)
如果你想使用jquery ui自动完成,你的数据必须是“一个简单的字符串数组,或者它包含数组中每个项目的对象,带有标签或值属性或两者都有”。这来自http://jqueryui.com/demos/autocomplete/
的文档您的服务器响应不符合预期的数据类型,您应该修改suggest.php以将数据后处理为标签值对。
据我了解,您还希望在从自动填充中选择项目时执行自定义操作,因此您还应该为“select”事件添加处理程序。
答案 1 :(得分:0)
我不明白。你的代码以什么方式不起作用? suggest.php看起来像什么?如果suggest.php是一个你想要的字符串列表,它应该可以正常工作。