我在使用jquery的自动完成功能时遇到了一些麻烦。我需要我的模型中的查询中的一个字段(使用codeigniter btw)来返回另一个值,我将不胜感激任何帮助,谢谢。
$(function(){
$('#buscador').autocomplete({
minLength: 1,
source: "home/get_cliente",
select: function(event, ui){
event.preventDefault();
$('#buscador').val(ui.item.value);
$('#apellidos').val(ui.item.apellidos);
}
});
});
答案 0 :(得分:0)
嗯,我得到了答案,我不得不改变模型中数组中的变量名称,如下所示:
模型:
function get_cl($q){
$this->db->select('*');
$this->db->like('nombres', $q);
$query = $this->db->get('clientes');
if($query->num_rows > 0){
foreach ($query->result_array() as $row){
$new_row['label'] = htmlentities(stripslashes($row['nombres'])); //build an array
$new_row['value'] = htmlentities(stripslashes($row['id_cliente']));
$row_set[] = $new_row;
}
echo json_encode($row_set); //format the array into json data
}
}
控制器:
function get_cliente(){
if (isset($_GET['term'])){
$q = strtolower($_GET['term']);
$this->autocompletado_model->get_cl($q);
}
}
JS:
$(function(){
$('#buscador').autocomplete({
minLength: 1,
source: "home/get_cliente",
focus: function(event,ui){
$('#buscador').val(ui.item.label);
return false;
},
select: function(event, ui){
id_cliente = ui.item.value;
$('#id_cliente').val(id_cliente);
return false;
}
});