У меня есть графический интерфейс пользователя на веб-странице с вкладками:
- JQuery 1.4.2
- JQuery-UI 1.8.9 (полная загрузка)
Идентификаторы для div'ов «панели» - это GUID объектов домена в базе данных.Все работает как надо.
Но когда я включаю опцию cookie
в вызов функции на
$(document).ready(function () {
//$("#tabs").tabs(); //Without tabs works fine
$("#tabs").tabs({ //This call with cookie option breaks everything.
cookie: {
expires: 1
}
});
});
Под 'breaks' я подразумеваю - содержимое моей последней вкладки (котораявключает в себя кнопку «Отправить») в конечном итоге отображается в нижней части каждой страницы с вкладками, хотя сама вкладка выглядит хорошо.Ни одна из вкладок не открывает соответствующую панель при нажатии, но я могу видеть правильный идентификатор вкладки в адресной строке браузера, когда нажимаю вкладку.
Я сравнил источник обеих страниц (с ибез опции cookie
) и они идентичны , кроме вызова функции JQuery tab
.
Но консоль Javascript сообщает об ошибке:
cannot call method 'apply' of undefined
Есть ли что-то еще, что мне нужно сделать, чтобы это заработало?Документация предлагает не ...
Я включил плагин cookie, как предложено Nalum, но это не решило проблему.
Детализация в jquery-ui-1.8.9.custom.min.js
дает мненеприятный бит кода:
return d.cookie.apply(null,[b].concat(d.makeArray(arguments ...
Этот код, по-видимому, ожидает, что [b]
будет выглядеть примерно так: ui-tabs-1
, то есть способ идентифицировать вкладки, если вы добавляете вкладки через tabs.add(...)
функция.И, конечно, я не добавляю свои вкладки таким образом - все мои вкладки имеют идентификаторы GUID, которые относятся к элементам, которые поступают из БД и выводятся с помощью элемента управления Repeater.
Некоторые HTML ниже для справки:
<div id="tabs">
<ul>
<li>
<a href='#TabDiv471de30d-aaec-4485-8a50-1b2fdbc58053'>
Tab A
</a>
</li>
<li>
<a href='#TabDiv951e2fee-9272-4a8c-becb-3f3a07770347'>
Tab B
</a>
</li>
</ul>
<div id='TabDiv471de30d-aaec-4485-8a50-1b2fdbc58053'>
This is Pane A
</div>
<div id='TabDiv951e2fee-9272-4a8c-becb-3f3a07770347'>
This is Pane B
</div>
</div>