我使用jquery ui自动完成并从此link获取示例。
这是我的修改:
$(function() {
$(".autocomplete").live('keyup.autocomplete', function() {
$(".autocomplete").autocomplete({
source: function(request, response) {
$.ajax({
'url': "http://localhost/project/index.php/product/search_data/",
'data': { 'txt_product_name': $('#txt_product_name').val()},
'dataType': "json",
'type': "POST",
'success': function(data){
response(data);
}
})
},
minLength: 2,
focus: function( event, ui ) {
$(".txt_product_id").val(ui.item.product_id);
return false;
},
select: function( event, ui ) {
$( ".txt_product_id" ).val(ui.item.product_id);
$( ".txt_product_code" ).val(ui.item.product_code);
$( ".txt_product_name" ).val(ui.item.product_name);
return false;
}
}).data("autocomplete" )._renderItem = function( ul, item ) {
return $( "<li></li>" )
.data( "item.autocomplete", item )
.append( "<a>" + item.product_code + "<br>" + item.product_name + "</a>" )
.appendTo(ul);
};
})
});
代码工作正常。为了我自己的目的,我修改_renderItem
所以结果将显示在列中:
data("autocomplete" )._renderItem = function(table, item) {
return $( "<tr></tr>" )
.data("item.autocomplete", item)
.append("<td><a>" + item.product_code + "</a></td><td><a>" + item.product_name + "</a></td>")
.appendTo(table);
};
每次输入我的条目时,建议列表都会显示。但与之前不同的是,点击列表不会对txt_product_id
,txt_product_code
和txt_product_name
做任何事情。
我该怎么办?任何建议都会受到欢迎。
提前感谢。