【发布时间】:2013-10-16 15:57:27
【问题描述】:
我的页面上有一个自动完成功能,可以正确获取和显示数据。
数据:Object { custId="CUST2", invoiceNo="B1"}
jQuery v1.8.2 分钟
jQuery UI - v1.10.3
$("#invoiceNo").autocomplete({
source : function(request, response) {
if($.trim($(this.element).val())==""){
return;
}
$.ui.autocomplete.prototype._renderMenu = function(ul, items) {
var self = this;
ul.append("<li><table width='100%' class='table table-condensed table-bordered' style='margin-bottom:0px;'><tr><td width='20%'><b>Invoice No</b></td><td width='20%'><b>Customer ID</b></td></tr></table></li>");
$.each(items, function(index, item) {
self._renderItem(ul, item);
});
};
$.getJSON("getInvoiceList.html", {
query : $.trim($(this.element).val()),
type:"del",
}, response).error(function(xhr, ajaxOptions, thrownError) {
});
},
open: function() {
// After menu has been opened, set width
$('.ui-menu').width(700);
},
minLength : 1,
select : function(event, ui) {
alert(ui.item);
$("#invoiceNo").val(ui.item.invoiceNo);
//setCustomerDetails(ui.item.number);
getInvoiceDetailForReturn(ui.item.invoiceNo);
return false;
},error: function (xhr, ajaxOptions, thrownError) {
$.jGrowl(xhr.responseText);
}
}).data("ui-autocomplete")._renderItem = function(ul, item) {
return $("<li></li>").data("item.autocomplete-item", item) .append("<a><table width='100%' class='table table-condensed table-hover' style='margin-bottom:0px;'><tr><td width='20%'>" + item.invoiceNo + "</td><td width='20%'>"+item.custId+"</td></tr></table></a>").appendTo(ul);
};
首先我有错误$(...).autocomplete(...).data(...) is undefined
它解决了这个问题
原来我必须改变
data("Autocomplete" )._renderItemData = function( ul, item ) {
和
.data( "item.autocomplete", item )
到
data("ui-autocomplete" )._renderItem = function( ul, item ) {
和
.data( "item.autocomplete-item", item )
所以它没有得到 ui.item 对象...
【问题讨论】:
-
我不明白你的问题。究竟是什么问题?
-
@Sébastien ui.item 未定义
-
@Sébastien 选择中的警报未定义
-
Hello @Sébastien Bro 当我使用 jquery-ui-1.9.2 时,自动完成功能正常工作。但是,如果我打开对话框,则在关闭对话框后制作两个 ui-widget-overlay div,删除一个 ui-widget-overlay div,但剩余一个。意味着我的问题是,如果我的对话框属性 Modal 为 True,则关闭对话框后无法删除模态属性假。
标签: javascript jquery jquery-ui autocomplete jquery-autocomplete