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
然而,新风格的选择菜单与原始菜单一起出现(这是设计,但原始的html选择菜单应该被隐藏),但是当我点击一个选项时,我得到了以下几个错误:
“this._optionList” is null or not an object – ui.selectmenu.js Line 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 ];
解决方法
我证实了这种行为.我在
this jsfiddle中重新创建它.在将jQuery升级到1.7.2之后,它没有给出这些错误.在
this jsfiddle是固定版本.请注意,我还将jQuery UI(因为jsFiddle)升级到jQuery UI 1.8.18,但问题出在您正在使用的jQuery版本中.我建议更新到
jQuery and jQuery UI的最新(稳定)版本,并选择菜单(
JavaScript和
CSS).