我使用自动完成逻辑,因为我们的主页输入框和&它工作正常,但今天它突然不工作&显示此行代码的错误
jQuery.ui.autocomplete.prototype._renderItem = function( ul, item) {
错误:未捕获的TypeError:无法读取未定义的属性“autocomplete”
我自动完成逻辑的完整代码是
<script type="text/javascript">
function monkeyPatchAutocomplete() {
jQuery.ui.autocomplete.prototype._renderItem = function( ul, item) {
var re = new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + this.term + ")(?![^<>]*>)(?![^&;]+;)", "gi");
var t = item.label.replace(re,"<span style='font-weight:bold;color:#434343;'>" +
"$&" +
"</span>");
return jQuery( "<li></li>" )
.data( "item.autocomplete", item )
.append( "<a>" + t + "</a>" )
.appendTo( ul );
};
}
function getKeywords(){
var allKeywords = <?php echo json_encode($allKeywords); ?>;
return allKeywords;
}
var URL = '<?php e(SITE_URL); ?>fronts/search';
jQuery(document).ready(function(){
monkeyPatchAutocomplete();
var username = jQuery('#username');
username.autocomplete({
minLength : 1,
source : URL
});
var CityKeyword = jQuery('#CityKeyword');
CityKeyword.autocomplete({
minLength : 1,
source : getKeywords()
});
});
// A custom jQuery method for placeholder text:
jQuery.fn.defaultText = function(value){
var element = this.eq(0);
element.data('defaultText',value);
element.focus(function(){
if(element.val() == value){
element.val('').removeClass('defaultText');
}
}).blur(function(){
if(element.val() == '' || element.val() == value){
element.addClass('defaultText').val(value);
}
});
return element.blur();
}
</script>
请分享可能导致此问题的原因。