0

我有一些在 firefox 和 chrome 中运行的脚本,但在 IE 8 中出现此错误:

$.Autocompleter.defaults = {
    输入类:“ac_input”,
    结果类:“ac_results”,
    加载类:“ac_loading”,
    minChars: 1,
    延迟:400,
    匹配情况:假,
    匹配子集:真,
    匹配包含:假,
    缓存长度:10,
    最大:100,
    必须匹配:假,
    额外参数:{},
    选择第一:真,
//以下行抛出错误,向下阅读错误信息
    formatItem: function(row) { return row[0]; },
    格式匹配:空,
    自动填充:假,
    宽度:0,
    多个:假,
    多重分隔符:“,”,
    突出显示:函数(值,术语){
        return value.replace(new RegExp("(?![^&;]+;)(?!<[^<>] )(" + term.replace(/([\^\$()[]{} *.+\?\|\])/gi, "\$1") + ")(?![^<>] >)(?![^&;]+;)", "gi"), " $1 ");
    },
    滚动:是的,
    滚动高度:180
};
` 具体错误为:“0”为空或不是对象

我可以将 row[0] 更改为什么吗?这是在 jquery.autocomplete.js 中找到的,它在 firefox 中读取相同并且不会导致错误,所以如果可能的话,我真的不想更改它。

任何建议都会有所帮助,谢谢!

4

1 回答 1

1

这就是我正在做的事情(基本上我使用了 formatItem 函数,但把它拿出来并尝试了你所做的并且它有效。

function setSearchAutoComplete() {
    $("#txtContactSearch").autocomplete
   ("../DataFiles/MaintainMessages.ashx?what=GU",
       {
           //formatItem: formatItem,
           formatItem:function(row){return "<em>" + row[0] + "<em>";},
           selectFirst: true,
           minChars: 2,
           max: 50,
           cache: false
       }
   );
    $("#txtContactSearch").result(findValueCallback);
}

function findValueCallback(event, data, formatted) {
    $("#divSelectedContacts").append("<span id='C" + data[1] + "' class='selectedContact'>" + data[0] + "</span>");
}

function formatItem(row) {
    return "<em>" + row[0] + "<em>";
}

高温高压

于 2010-04-14T18:30:29.190 回答