我正在使用JQuery 1.8.3和JQuery UI 1.8.24.
这是代码,工作得很好:
$(function () {
$("#").autocomplete({
source: function (request, response) {
$.ajax({
url: '', type: "POST", dataType: "json",
data: { searchPattern: request.term },
cache: false,
success: function (data) {
response($.map(data, function (item) {
return { label: item.Label, value: item.Value, id: item.Id, description: item.Description }
}))
}
});
},
delay: 300,
minLength: 2,
autoFocus: true
})
.data("autocomplete")._renderItem = function (ul, item) {
return $("li>/li>")
.data("ui-autocomplete-item", item)
.append("a>" + item.label + "br>div style=\"font-size:x-small;font-style:italic;\">" + …Run Code Online (Sandbox Code Playgroud) 我目前.data( "ui-autocomplete" )._renderItem = function( ul, item )在我的页面中的三个地方使用.现在我需要再添加一个,我已经完成了.
但是这次我得到了错误信息
TypeError:this._renderItem(...)未定义
奇怪的是,如果我的IF测试是假的,我只会得到这个.
.data( "ui-autocomplete" )._renderItem = function( ul, item ) {
// If only one row is returned and ID = 0, then return 'no result' message
if(item.id == '0') {
return jQuery( "<li></li>" )
.data( "item.autocomplete", item )
.append( "<div class='no-result'>"+ item.value + "</div>" )
.appendTo( ul );
}
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚为什么它在这里失败了,而不是在其他3个地方.某处有冲突吗?
这是我的代码
jQuery('#my-selector').autocomplete({
minLength: 2,
source: function( request, response ) {
jQuery.ajax({
url: callback_url,
dataType: "json",
data: …Run Code Online (Sandbox Code Playgroud)