JQuery-ui 버전에 따라 autocomplete 사용법이 다름.
[1.12.0]
jquery 1.7.x 버전 이상을 써야 하고 최신버전 3.2.1 에서도 동작한다.
.autocomplete( "instance" )._renderItem 을 사용할 수 있고
.data("ui-autocomplete")._renderItem 을 사용할 수도 있지만 old style
.autocomplete( "instance" )._renderItem = function( ul, item ) {
return $( "<li>" ).append( "<div>" + gubun + S9HL.highlight(label, searched) + "</div>" ).appendTo( ul );
)};
[1.11.x]
jquery 1.6.x ~ jquery 2.x 버전까지 동작
.autocomplete( "instance" )._renderItem 을 사용할 수 있고
.data("ui-autocomplete")._renderItem 을 사용할 수도 있지만 old style
.autocomplete( "instance" )._renderItem = function( ul, item ) {
return $( "<li>" ).append( "<div>" + gubun + S9HL.highlight(label, searched) + "</div>" ).appendTo( ul );
혹은
return $( "<li>" ).append(gubun + S9HL.highlight(label, searched)).appendTo( ul );
)};
값을 <div> 혹은 <a> 둘 다 동작하는 것으로 보이지만 <div> 가 더 좋다
<div>를 쓰지 않아도 동작한다.
[1.8.x]
jquery 1.7 버전 이상을 쓸 수 없다 (deplicate 된 함수 때문이다)
.data("ui-autocomplete")._renderItem 을 사용해야 한다.
.data("autocomplete")._renderItem = function(ul, item ) {
return $( "<li>" ).data( "item.autocomplete", item ).append( '<a>' + S9HL.highlight(item.label, searchQuery) + '</a>' ).appendTo( ul );
};
값은 반드시 <a> 로 싸야 한다.