我有以下代码来实现表单字段的自动填充
$( "#manager" ).change(function() {
var rows;
var manager = $(this).val();
var grouplist = $.post("<?php echo base_url();?>groups/getgrouplist/?"+"manager_name="+manager);
$( "#groups" ).autocomplete({ source: grouplist });
});
这是回复后的帖子。
[{"personnel_name":"nab_group_1_1"},{"personnel_name":"nab_group_1_2"},{"personnel_name":"nab_group_2_1"}]
显而易见,它获得了所需的价值并且正在发挥作用。 但自动完成不显示任何值。 我在grouplist上放了一个警告,它显示了对象对象。 有人可以建议我如何解决这个问题,这里有什么不对。 提前谢谢。
答案 0 :(得分:0)
尝试这样的事情
$.post("<?php echo base_url();?>groups/getgrouplist/?"+"manager_name="+manager,function(response){
var grouplist = jQuery.parseJSON(response);
$( "#groups" ).autocomplete({ source: grouplist });
});
你的自动完成应该是这样的
已编辑的代码
$.post("<?php echo base_url();?>groups/getgrouplist/?"+"manager_name="+manager,function(response){
var grouplist = jQuery.parseJSON(response);
var new_data_source = $.map( grouplist, function( item ) {
return {
label: item.nab_group_1_1,
value: item.personnel_name
}
});
$( "#groups" ).autocomplete({ source: new_data_source });
});
json应该像[{"id":"your_id","label":"your_label"}]
虽然你的json不同,所以你必须在成功时创建json
答案 1 :(得分:0)
检查autocomplete
消耗的内容。我认为你的对象被强制转换为字符串Object Object
。如果您将JSON传递给自动完成,请确保您的后端提供JSON作为响应。