0

我有以下代码行:

select: function( event, ui ) {
var searchLink = aToolLinks[ui.item.tool];
var params = "";
if (ui.item.id && ui.item.id != "") {
if (ui.item.tool == "FUN") {
params = "ID_INSTRUMENT=" + ui.item.id;
} else {
params = "ID_NOTATION=" + ui.item.id;
}
} else if (ui.item.isin && ui.item.isin != "") {
params = "isin=" + ui.item.isin;
}
if (ui.item.tool && ui.item.tool == "NEW") {
params = "searchString=" + ui.item.term;
}
if (params != "") {
console.log("URL " + searchLink+"&"+params);
window.location.href = searchLink+"&"+params;

在 Internet Explorer 8 中,我收到错误:item.tool is NULL or is not an object

有人知道我该如何解决吗?

谢谢!

4

3 回答 3

0

这不是解决方案,而是提示,如果解决了您的问题,请尝试

Start Internet Explorer then:
1. Press the F12 key (Tools, Developer Tools)
2. Hold Down the key "Ctrl" then "R" (Cache, Clear Browser Cache)
于 2013-09-23T11:34:17.127 回答
0

当我的列表有尾随逗号时,我已经看到了这个问题。我认为 IE8 扼杀了他们。

我在 IE 8 中得到错误:

var l = [{id:1, val:"foo"}, {id:2, val:"bar"},];
    for(var i =0; i < l.length; i++){
        l[i].val;
}

如果我删除最后一个逗号,我不会在 IE 8 中得到错误

var l = [{id:1, val:"foo"}, {id:2, val:"bar"}];
    for(var i =0; i < l.length; i++){
        l[i].val;
}

如果ui是您问题中的文字列表,那么这可能就是原因。

于 2014-03-14T17:50:12.583 回答
-1

我知道这已经很老了,但万一有人再次遇到同样的问题......对于我来说,引发错误的问题实际上是一个数组越界问题。我试图访问未填充在数组中的索引,或者在您的情况下是地图或对象。换句话说,这可能意味着这tool不是ui.item.

于 2018-12-16T17:14:13.787 回答