今天在13.07版本的ofbiz上使用auto-complete自动下拉补全功能时,发现那个功能一直不正常,用谷歌浏览器通过查看控制台发现js报错,错误信息为:
javascript - Cannot set property '_renderItem' of undefined
原来是因为JQuery版本的问题,1.10之前的版本用原来的代码就可以:
input.data( "autocomplete" )._renderItem = function( ul, item ) {
return jQuery( "<li></li>" )
.data( "item.autocomplete", item )
.append( "<a>" + item.label + "</a>" )
.appendTo( ul );
};
JQuery-1.10.js以及之后的版本需要将autocomplete替换为ui-autocomplete,具体如下:
input.data( "ui-autocomplete" )._renderItem = function( ul, item ) {
return jQuery( "<li></li>" )
.data( "ui-autocomplete-item", item )
.append( "<a>" + item.label + "</a>" )
.appendTo( ul );
};
如此,问题解决。JQuery自动下拉补全功能正常工作。