在IE中使用jQuery UI Selectmenu插件时出错

这里演示了jQuery UI Selectmenu插件:http://jquery-ui.googlecode.com/svn/branches/labs/selectmenu/index.html

我有这个插件的一些问题。 我将专注于仅在IE中发生的一个。

我有html:

<label for="SearchState"></label>
<select style="width: 160px" name="SearchState" id="SearchState">
   <option>CT</option>
   <option>MA</option>
   <option>NH</option>
</select>

和jQuery:

$('select#SearchState').selectmenu();

在Firefox这个工作,但是在IE中我得到负载的错误:

"Invalid argument" - jquery 1.4.2 Line: 4618

然而,新样式的selectmenu与原始样式一起出现(这是设计的,但原始html选择菜单应该隐藏),但是当我点击一个选项时,我会得到以下几个错误:

“this._optionList”为空或不是对象 - ui.selectmenu.js第400行

任何想法,为什么这不起作用在IE浏览器?

ui.selectmenu.js的399-401行

_selectedOptionLi: function() {
    return this._optionLis.eq(this._selectedIndex());
},

jquery-1.4.1.js的第4615-4622行

name = name.replace(rdashAlpha, fcamelCase);

if ( set ) {
    style[ name ] = value;
}

return style[ name ];

我确认了这种行为。 我在这个jsfiddle中重新创建了它。 升级jQuery到1.7.2后,它没有给出这些错误。 在这个jsfiddle是固定版本。 请注意,我还将jQuery UI(由于jsFiddle)升级到了jQuery UI 1.8.18,但问题在于您使用的jQuery版本。 我建议更新到jQuery和jQuery UI的最新(稳定)版本,以及selectmenu(JavaScript和CSS)。


你正在使用一个旧的jQuery UI 实验室插件,看起来它在一段时间内还没有被使用过。

在github上看看这个fork https://github.com/fnagel/jquery-ui。

jQuery UI的一个分支,推动开发一些插件。 目前您会发现:最新版本的Selectmenu(最初由灯丝组)和可访问的jQuery UI选项卡版本。 请检查分支选择菜单和选项卡 - 可访问性


如果您链接的演示版在IE中运行,作为第一步,我会尝试使用与演示版相同版本的selectmenu。 如果这样做,你知道这是插件的问题。

链接地址: http://www.djcxy.com/p/49751.html

上一篇: Error using jQuery UI Selectmenu plugin in IE

下一篇: Clicking token in NSTokenField