我有jQuery UI自动完成代码如下:
$("#keyword").autocomplete({
source: function(request, response) {
$.ajax({
url: "<?php echo base_url(); ?>index.php/formhandler/autocomplete",
data: {term: request.term, data: $("#city").val()},
dataType: "json",
success: function(data) {
response($.map(response, function(item) {
return {
label: item,
value: item
}
}));
}
})
}
});
我的回答如下:
["result1"]["reusult2"]["result3"]["result4"]["result4"]
如何使用此自动填充关键字字段?
答案 0 :(得分:1)
您似乎没有使用ajax成功函数的参数数据。打开JavaScript控制台(Chrome中的F12)并检查是否有任何错误。
$("#keyword").autocomplete({
source: function(request, response) {
$.ajax({
url: "<?php echo base_url(); ?>index.php/formhandler/autocomplete",
data: {term: request.term, data: $("#city").val()},
dataType: "json",
success: function(data) {
//check what data contains. it should contain a string like "['val1','val2','val3','val4']"
//the next line should use $.map(data and not $.map(response
response($.map(response, function(item) {
return {
label: item,
value: item
}
}));
}
})
}
});
答案 1 :(得分:0)
为什么使用$ .ajax。您只需将$ .get中的数据作为源。
$("#keyword").autocomplete({
source : function (request, response) {
$.get("<?php echo base_url(); ?>index.php/formhandler/autocomplete", {term: request.term, data: $("#city").val()}, function (data) {
response(data);
});
}
});
答案 2 :(得分:0)
您需要组合这些数组&gt;使用:
$.merge
您可能必须使用循环。一个例子可以是:
var first = ['a','b','c'];
var second = ['d','e','f'];
$.merge( $.merge([],first), second);
哪个会输出:
["a","b","c","d","e","f"]