我有一个文本字段,其中名称和地址的自动填充建议应以分号(;)分隔。 我正在使用codeigniter,以下是jquery代码:
//to retrieve the name and address values
var business=new Object();
$.ajax({
'async': false,
'global': false,
'url': base_url + '/controller_name/method1',
'dataType': "json",
'success': function (data) {
$.each(data, function(key, value){
bb = value.b_name+'; '+value.b_add;
if(key==0)
bb_json = JSON.stringify(bb);
else
bb_json += JSON.stringify(bb);
});
}
});
上面的代码工作正常,并保存bb_json中的所有名称和地址。现在我希望它出现在自动完成建议列表中。我为此编写的代码如下 -
$('#b_name').autocomplete({
source : bb_json,
max : 5,
minLength : 2,
open : function(event, ui) {
$('ul.ui-autocomplete').addClass('f-dropdown').attr('id', 'bb_ul');
$(this).autocomplete("widget");
}
});
但这不起作用。请有人帮忙吗?
答案 0 :(得分:1)
你必须在$ ajax()。success()回调中生成一个有效的javascript数组:
$.ajax({
'async': false,
'global': false,
'url': base_url + '/controller_name/method1',
'dataType': "json",
'success': function (data) {
//data = [{b_name:"foo1",b_add:"bar1"},{b_name:"foo2",b_add:"bar2"},{b_name:"foo3",b_add:"bar3"}]
bb_json = []
$.each(data, function(key, value){
bb = value.b_name+'; '+value.b_add;
bb_json.push(bb);
});
}
});
这项工作。
答案 1 :(得分:0)