1
我正在尝试使用CakePHP制作jQuery自动完成JSON数据。我的代码实际上工作。它按预期显示自动完成,但失败:CakePHP中的jQuery自动完成JSON
- 一旦我们选择它(空白),所选项目不会显示在搜索框中。
- 如果数据不存在,'没有结果'不显示。
下面的代码:我的客户控制器
function search(){
$this->Customer->recursive = -1;
$customers = $this->Customer->find('all', array(
'conditions'=>array('Customer.nama LIKE'=>$this->params['url']['q'].'%'),
'fields'=>array('id', 'name', 'telp', 'address'))
);
$this->set('customers', $customers);
Configure::write('debug', 0);
$this->layout = 'ajax';
}
// 我search.ctp
<?php
if(!empty($customers)) {
$data = array();
foreach ($customers as $customer){
$data[] = $customer['Customer'];
}
echo json_encode($data);
}
else echo 'No result';
?>
// 的
// 搜索我的行动js文件
$().ready(function() {
$("#search-txtbox").autocomplete("/customers/search",
{
parse: function(data){
var parsed = [];
for (var i=0; i < data.length; i++) {
parsed[i] = {
data: data[i],
value: data[i].name //the search item
};
}
return parsed;
},
formatItem: function (row, i, max) {
var str = row.name + ' (Telp: '+ row.telp +')' + '<br />';
str += row.address;
return str;
},
formatResult: function (row) {
return row.name;
},
minChars: 2,
max: 0,
width: 224,
scrollHeight: 420,
dataType: 'json'
}
);
});
请帮我修改代码。谢谢!