このコードスニペットをjQueryUI Autocomplete
自分のサイトの関数に使用しています。
$( "#find" ).autocomplete({
minLength: 1,
source: function(request, response) {
var results = $.ui.autocomplete.filter(locations, request.term);
response(results.slice(0, 10));
},
focus: function( event, ui ) {
$( "#find" ).val( ui.item.value );
return false;
},
appendTo: "#results",
open: function(){
var position = $("#results").position(),
left = position.left, top = position.top;
$("#results > ul").css({left: (left + 15) + "px",
top: (top + 30) + "px", width: (206) + "px" });
},
select: function( event, ui ) {
$( "#find" ).val( ui.item.value );
$(":header.title").html(ui.item.value);
var new_url = ui.item.href; // instead of adding 'statistics', by using location.hash, it wont be necessary unlike using pushState()
location.hash = new_url;
return false;
}
})
.data( "autocomplete" )._renderItem = function( ul, item ) {
return $( "<li></li>" )
.data( "item.autocomplete", item )
.append( "<a>" + item.label + "<br />" + item.desc + "</a>" )
.appendTo( ul );
};
実際、これは完全に正常に機能し、ここFirefox
に示したサンプルで正確に動作するのとChrome
同じように動作します。必要に応じてコピーして変更しただけです。ただし、では、他のブラウザに表示されるはに表示されません。修正から始まるコードは最後の部分、つまりオートコンプリートの提案を追加する部分だと思います。誰かがここで私を助けてくれますか?乾杯!IE9
item.desc
IE9