我设置了一个全局变量 $category_list,它是一个类别名称数组。
在页脚我有:
<?php if ( isset($category_list) ): ?>
<script type="text/javascript">
var wordlist = [
<?php foreach ($category_list as $row) { echo '"' . $row->name . '", '; } ?>
];
</script>
<?php endif ?>
我有一个带有以下代码的外部 .js 文件:
jQuery( ".cats" ).autocomplete({
source: function(req, responseFn) {
var matches = new Array();
var needle = req.term.toLowerCase();
var len = wordlist.length;
for(i = 0; i < len; ++i)
{
var haystack = wordlist[i].toLowerCase();
if(haystack.indexOf(needle) == 0 ||
haystack.indexOf(" " + needle) != -1)
{
matches.push(wordlist[i]);
}
}
responseFn( matches );
}
});
IE8 中出现错误,因此下拉菜单不起作用:wordlist[...] is null or not an object
不知道如何解决这个问题,类别名称的下拉列表在 IE 9、Firefox 和 Chrome 中运行良好,但在 IE8 上却不行,影响了大约 50% 的 IE 用户。我正在使用 Codeigniter 框架。我尝试在外部文件之前加载页脚脚本,但没有任何乐趣。
非常喜欢任何帮助<3