Mae*_*mir 2 javascript jquery json jquery-ui autocomplete
使用jQuery自动完成功能时发现错误。
控制台中的此通知错误是
类型错误:$(...)。autocomplete(...)。data(...)未定义})。data(“ ui-autocomplete”)._ renderItem = function(ul,item){
码:
Site Name <br/>
<input type="text" name="site_name" id="site_name"><br/>
<input type="hidden" name="site_id" id="site_id">
$().ready(function () {
$("#site_name").autocomplete({
source: function (request, response) {
$.ajax({
url: "get_site2.php",
dataType: "json",
data: {
term: request.term
},
beforeSend: function () { // add this
showLoading("remove");
console.log("remove");
},
success: function (data) {
response(data);
}
});
},
minLength: 2,
select: function (event, ui) {
$("#site_name").val(ui.item.label);
$("#site_id").val(ui.item.name);
return false;
},
open: function () {
$(this).removeClass("ui-corner-all").addClass("ui-corner-top");
},
close: function () {
$(this).removeClass("ui-corner-top").addClass("ui-corner-all");
}
}).data("ui-autocomplete")._renderItem = function (ul, item) {
return $("<li></li>")
.data("ui-autocomplete-item", item)
.append("<a>" + item.label + "</a>")
.appendTo(ul);
};
});
Run Code Online (Sandbox Code Playgroud)
我很困惑,我已经搜索并尝试了这个问题,但并没有解决。
小智 5
抱歉,此修复可能要晚一些..但是对于其他遇到此问题的人来说。
只是改变
}).data("ui-autocomplete")._renderItem = function (ul, item) {
Run Code Online (Sandbox Code Playgroud)
至
})._renderItem = function (ul, item) {
Run Code Online (Sandbox Code Playgroud)
这样可以解决问题。
在某些情况下,它看起来像这样
.autocomplete().data("uiAutocomplete")._renderItem = function( ul, item )
Run Code Online (Sandbox Code Playgroud)
更改为
.autocomplete()._renderItem = function( ul, item )
Run Code Online (Sandbox Code Playgroud)