我在使用Codeigniter的Jquery自动完成中遇到问题。当我使用自动完成数据时,它不可见。
看法
<script>
$(function () {
$('#suggest_product').autocomplete({
source: '<?php echo site_url("cart/suggest_products"); ?>',
select: function (event, ui) {
},
success: function (resp) {
alert("auto");
console.log(resp);
},
error: function () {
alert("Oops, that didn't work. Please try again.");
}
});
$.fn.extend({
propAttr: $.fn.prop || $.fn.attr
});
});
</script>
控制器
function suggest_products(){
print_r($this->Product_model->suggest_products($_REQUEST['term']));
}
模型
function suggest_products($term){
$data = array();
$term = strtolower( addslashes( trim( urldecode($term) ) ) );
$this->db->select('name');
$this->db->like('name',$term);
$this->db->or_like('sku', $term);
$this->db->limit(1);
$temp = $this->db->get('products')->result_array();
$data = json_encode($temp);
return $data;
}
在firebug中看到数据时。来了,li变成了<li><a></a></li>
空白。
请帮忙
jQuery UI自动完成数据的格式如下:
label
和/或value
属性所以这:
[{"name":"BLOCKS GREY BIG PILLOW"}]
在服务器端代码中应更改为以下内容之一:
["BLOCKS GREY BIG PILLOW"]
[{"label":"BLOCKS GREY BIG PILLOW"}]
可能最简单的解决方法是更改此行:
$this->db->select('name AS `label`', FALSE);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句