Ошибка при использовании плагина jQuery UI Selectmenu в IE - PullRequest
7 голосов
/ 03 января 2011

Плагин jQuery UI Selectmenu, демонстрационный пример здесь: http://jquery -ui.googlecode.com / svn / филиалы / 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» является нулем или не является объектом - ui.selectmenu.js Строка 400

Есть идеи, почему это не работает в IE?

Линии 399-401 из ui.selectmenu.js

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

Линии 4615-4622 из jquery-1.4.1.js

name = name.replace(rdashAlpha, fcamelCase);

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

return style[ name ];

Ответы [ 3 ]

3 голосов
/ 06 июля 2012

Я подтвердил это поведение. Я воссоздал его в этом jsfiddle . После обновления jQuery до 1.7.2 эти ошибки не выдаются. В эта jsfiddle является фиксированной версией. Обратите внимание, что я также обновил jQuery UI (из-за jsFiddle) до jQuery UI 1.8.18, но проблемы заключаются в используемой вами версии jQuery. Я рекомендую обновить до последней (стабильной) версии jQuery и jQuery UI и selectmenu ( JavaScript и CSS ).

1 голос
/ 06 июля 2012

Вы используете старый плагин jQuery UI labs , и похоже, что он давно не работал.

Посмотрите на этот форк на github https://github.com/fnagel/jquery-ui.

Вилка jQuery UI для развития некоторых плагинов.В настоящее время вы найдете: последнюю версию Selectmenu (первоначально от группы филаментов) и доступную версию вкладок пользовательского интерфейса jQuery.Пожалуйста, проверьте ветку selectmenu и tabs-accessibility

0 голосов
/ 06 июля 2012

Если демо, на которое вы ссылаетесь, работает в IE, в качестве первого шага я бы попытался использовать ту же версию selectmenu, что и демо .Если это работает, вы знаете, что это проблема с плагином.

...