我在网页上有一个标签式GUI:
“窗格”div的ID是数据库中域对象的GUID。一切都按预期工作。
但是当我在
上的函数调用中包含cookie
选项时
$(document).ready(function () {
//$("#tabs").tabs(); //Without tabs works fine
$("#tabs").tabs({ //This call with cookie option breaks everything.
cookie: {
expires: 1
}
});
});
通过'break'我的意思是 - 我的最后一个标签的内容(包括一个'submit'按钮)最终会显示在每个标签页的底部,尽管标签本身看起来很好。单击时没有任何选项卡打开相应的窗格,但是当我单击选项卡时,我可以在浏览器的地址栏中看到正确的选项卡ID。
我已经比较了两个页面的来源(有和没有cookie
选项),除了调用JQuery tab
函数之外,它们相同。< / p>
但是Javascript控制台报告错误:
cannot call method 'apply' of undefined
我需要做些什么才能让它发挥作用?文件建议不要......
我已经按照Nalum的建议加入了Cookie插件,但这并没有解决问题。
钻取jquery-ui-1.8.9.custom.min.js
让我得到了令人讨厌的代码:
return d.cookie.apply(null,[b].concat(d.makeArray(arguments ...
此代码似乎期望[b]
类似ui-tabs-1
,如果您通过tabs.add(...)
函数添加标签,则标签的标识方式就是<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>
。当然,我不会以这种方式添加标签 - 我的所有标签都有GUID ID,这些ID与来自DB的元素相关,并由Repeater控件输出。
以下一些HTML供参考:
{{1}}
答案 0 :(得分:1)
从jQuery UI Docs开始注意:需要Cookie插件。
将最新选择的标签存储在a中 曲奇饼。然后使用cookie 确定最初选择的选项卡 如果未定义所选选项。 需要Cookie插件。对象 需要有关键/值对 形成cookie插件期望的 选项。可用选项(示例): {expires:7,路径:'/',域名: 'jquery.com',安全:真实}。以来 jQuery UI 1.7也有可能 定义通过使用的cookie名称 名称属性。