我在我的网站上使用此代码段代码1}},
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
上完全正常,它的行为就像它给定的样本here时的行为一样,我只是根据我的内容复制和修改它通缉。但在Chrome
上,IE9
上无法显示其他浏览器上显示的item.desc
。我认为开始修复的代码是最后一部分,它附加了自动完成的建议。有人可以帮帮我吗?干杯!
答案 0 :(得分:0)
您需要将bgiframe.min.js
升级到更高版本(3.0工作正常)
https://github.com/brandonaaron/bgiframe
答案 1 :(得分:0)
创建一个新的css类来覆盖现有的jquery ui autocomplete“position”:“absolute”
.ui-autocompelte{
"position": "absolute"
....
....
}
新的CSS类
.ui-autocomplete-ie9-fix { position: relative !important; }
然后应用这个css类 $( “#查找”)。autocompelte({ ........ ....... });
if (!$.browser.msie || ($.browser.msie && $.browser.version != 9)) {
$("ul.ui-autocomplete").addClass("ui-autocomplete-ie9-fix");
}
答案 2 :(得分:-1)
在标题后添加以下标记
<meta http-equiv="X-UA-Compatible" content="IE=8" />