我正在尝试实现自动完成。到目前为止,我已经克服了一个障碍:沿着可选项目显示自定义信息。就此而言,我使用 JSON 对象传递数据。就像这样:
[{"codigo":"XL","descripcion":"Extra Large"},{"codigo":"M","descripcion":"Medium"},{"codigo":"S","descripcion":"Small"},{"codigo":"L","descripcion":"Large"}]
现在初始化代码是:
$this->template->add_js("$.getJSON(\"".base_url('talles/listar')."\",
function(data)
{
$('#txt_talle')
.autocomplete(
{
minLength: 0,
source: data,
focus: function(event, ui) {
$('#txt_talle').val(ui.item.codigo);
return false;
},
select: function(event, ui) {
$('#txt_talle').val(ui.item.codigo);
return false;
}
})
.focus(function(){ $('#txt_talle').autocomplete('search') })
.data('autocomplete')._renderItem = function(ul, item) {
return $('<li></li>')
.data('item.autocomplete', item)
.append('<a>' + item.codigo + '|' + item.descripcion + '</a>')
.appendTo(ul);
}
;
});", 'embed');
但现在的问题是搜索不起作用。我猜这不起作用,因为它搜索对象,而不是对象内部。我想让它在 item.codigo 值中搜索。有没有办法做到这一点?