【问题标题】:ASP.Net + JQuery Tabs: Using the Cookie Option Breaks my GUIASP.Net + JQuery 选项卡:使用 Cookie 选项破坏了我的 GUI
【发布时间】:2011-02-16 16:54:49
【问题描述】:

我在网页上有一个选项卡式 GUI,使用:

  • jQuery 1.4.2
  • JQuery-UI 1.8.9(完整下载)

“窗格”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
        }
    });
});

我的意思是“中断” - 我的最终选项卡(包括“提交”按钮)的内容最终显示在每个选项卡页面的底部,尽管选项卡本身看起来不错。单击时,所有选项卡都不会打开相应的窗格,但是当我单击选项卡时,我可以在浏览器的地址栏中看到正确的选项卡 ID。

我比较了两个页面的来源(有和没有cookie 选项),它们相同除了调用JQuery tab 函数。

但是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(...) 函数添加选项卡,这就是标识选项卡的方式。当然,我不会以这种方式添加我的选项卡——我所有的选项卡都有 GUID ID,这些 GUID ID 与来自数据库并由中继器控件输出的元素相关。

下面的一些 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>

【问题讨论】:

    标签: javascript jquery asp.net jquery-ui cookies


    【解决方案1】:

    来自jQuery UI Docs,注意:需要 cookie 插件。

    将最新选择的选项卡存储在 曲奇饼。然后使用 cookie 确定最初选择的选项卡 如果未定义所选选项。 需要 cookie 插件。 对象 需要有键/值对 形成 cookie 插件期望的形式 选项。可用选项(示例): { 过期:7,路径:'/',域: 'jquery.com',安全:真 }。自从 jQuery UI 1.7 也可以 定义正在使用的 cookie 名称 名称属性。

    【讨论】:

    • 感谢您的回答。我从plugins.jquery.com/project/Cookie 下载了 jquery-cookies.js 并将其包含在我的页面中。它似乎没有任何区别 - 我需要做些什么才能让它工作吗?
    • 选项卡现在可以正确切换(非常感谢),但其中一些不显示其内容 - 全部隐藏。不确定这是否与我将 jquery ui css 表更新到最新版本有关。
    • 您是否仍然遇到内容不显示的问题?
    猜你喜欢
    • 1970-01-01
    • 2012-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多