我正在尝试设置一个包含自动填充功能的搜索框。这是由我的一个朋友写的,但他也无法让它在IE中工作。它在chrome方面效果很好。它需要在IE中工作,因为将使用它的人没有Chrome。 这是代码:
<style>
.ui-autocomplete-category {
font-weight: bold;
padding: .4em .8em;
margin: 1.0em 0 .4em;
line-height: 1.5;
}
</style>
<script>
$j.widget("custom.Complete", $j.ui.autocomplete, {
_renderMenu: function (ul, items) {
var that = this,
currentCategory = "";
$j.each(items, function (index, item) {
if (item.category != currentCategory) {
ul.append("<li class='ui-autocomplete-category'>" + item.category + "</li>");
currentCategory = item.category;
}
that._renderItemData(ul, item);
});
}
});
</script>
<script>
$j(function () {
var data = [{
label: "Call types",
category: "Call Flow"
}, {
label: "Review",
category: "Call Flow"
}, {
label: "Mikatron",
category: "Decepticon"
}, {
label: "Eric Prime",
category: "Transformer"
}, ];
$j("#SearchResult").Complete({
delay: 0,
source: data,
appendTo: '#menu-container',
});
});
</script>
任何想法?我已经工作了好几个小时了。
答案 0 :(得分:0)
IE在对象文字中的尾随逗号失败(并且非常正确)。
在你的 Eric Prime 对象之后,你有一个逗号。删除它,即这......
{
label: "Eric Prime",
category: "Transformer"
}, ];
变成这个
{
label: "Eric Prime",
category: "Transformer"
}];
此处还有另一个尾随逗号......
$j("#SearchResult").Complete({
delay: 0,
source: data,
appendTo: '#menu-container', // <-- here
});