4

我在 jQuery UI 1.8rc3 中有新的自动完成小部件在 Firefox 中运行良好。它在 IE 中根本不起作用。有人可以帮我吗?

HTML:

<input type="text" id="ctrSearch" size="30">
<input type="hidden" id="ctrId">

Javascript:

$("#ctrSearch").autocomplete({
    source: "ctrSearch.do",
    minLength: 3,
    focus: function(event, ui){
        $('#ctrSearch').val(ui.item.ctrLastName + ", " + ui.item.ctrFirstName);
        return false;
    },
    select: function(event, ui){
        $('#ctrId').val(ui.item.ctrId);
        return false;
    }
});

结果(即 8):

红框是<ul>jQuery创建的元素。

我也收到此错误:

线路:116
错误:参数无效。

当我在 IE8 脚本调试器中打开它时,它会f[b]=d在 jquery.min.js 的第 116 行突出显示。请注意,我使用的是托管在 Google 服务器 ( https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js ) 上的 1.4.2 版 jQuery。

我已经尝试删除一些选项,但即使我.autocomplete()在没有选项或只有源选项的情况下调用,我仍然得到相同的结果。

再一次,它可以在 Firefox 中运行,但不能在 IE 中运行。有什么建议么?

谢谢。

更新: 按照建议,我使用 jquery.js(而不是 jquery.min.js)并在第 4618 行得到错误。请参阅下面的 jitter 答案。请参阅几天前发布的另一个 Stack Overflow 问题。

更新 2: 我发现 jQuery UI 自动完成使用了一个无效的属性this.element.height,当它应该使用该函数时this.element.height()

4

2 回答 2

5

如果我理解这一点,您所指的行似乎是函数中jquery.1.4.2.js中的第 4618 行style。这只能意味着 Autocompleter 插件尝试设置 IE8 不理解或不允许以这种方式访问​​/更改的样式值。

style[ name ] = value; //style == elem.style from the passed in element
于 2010-03-16T16:32:49.910 回答
1

我在完全相同的行上有完全相同的错误,但交易完全不同。也就是说,我没有做任何与自动完成有关的事情。相反,我的发生是因为我在 jQuery 中尝试这个......

$(this).css('background', 'rgba(64,255,64,.4)');

哪个 jQuery 试图做...

style [ 'background' ] = 'rgba(64,255,64,.4)';

当然,它失败了,因为 rgba 不是 Internet Explorer 支持的 CSS 值。所以你并不孤单,但就我而言,我只是做错了。适当的 jQuery 语法是这样的......

$(this).css({backgroundColor: '#40ff40', opacity: .4});

这是我的来源...

http://www.cjs.me.uk/blog/?p=238

于 2010-07-30T23:03:56.327 回答