jQuery 选项卡选择特定选项卡

2023-11-22

我有一个包含一组 jQuery 选项卡的页面。所有选项卡都指向同一个目标 div,但通过 ajax 加载不同的内容。当我执行初始整页加载时,我需要根据各种因素以不同方式设置活动选项卡。目标 div 中的内容已在服务器上设置用于此初始加载,因此我不需要单击选项卡,只需将正确的选项卡设置为“选定”即可。我尝试将相关“li”html 元素的类设置为“ui-tabs-selected”。这达到了最初所需的效果,但是一旦加载页面,然后在选择另一个选项卡时,预选的选项卡不会关闭,而是选择两个选项卡。

那么,有谁知道预选择选项卡的替代方法(不会导致其被单击),或者解决我所看到的奇怪的“ui-tabs-selected”行为。

Thanks.

<script type="text/javascript">
    $(function() {
        $("#panelTabs").tabs({
            ajaxOptions: {
                error: function(xhr, status, index, anchor) {
                    $(anchor.hash).html("Couldn't load this tab. We'll try to fix this as soon as possible.");
                }
            }
        });

        $("#panelTabs").tabs({
            select: function(event, ui) {
                getPage('hps.aspx?cmd=zz_' + ui.tab.id, 'panelA');
            }
        });
    });
    </script>

以及构建 UL 的 C# 片段:

StringBuilder tabsLiteral = new StringBuilder();
            tabsLiteral.Append("<ul>");
            foreach (KeyValuePair<string, Tab> kvp in tabs)
            {
                tabsLiteral.Append("<li>");
                // Note - the kvp.Value.URI determines what should happen when the Tab is clicked
                tabsLiteral.Append("<a id=\"" + kvp.Value.URI + "\" href=\"#panelTabs\">" + kvp.Value.Caption + "</a>");
                tabsLiteral.Append("</li>");
            }
            tabsLiteral.Append("</ul>");
            _panelTabs.Controls.Add(new LiteralControl(tabsLiteral.ToString()));

            HtmlGenericControl ctl = new HtmlGenericControl();
            StringBuilder html = new StringBuilder();
            html.Append("<script type=\"text/javascript\">");
            html.Append("$(\"#panelTabs\").tabs({selected: 2});");
            html.Append("</script>");
            ctl.InnerHtml = html.ToString();
            _panelTabs.Controls.Add(ctl);

另一个版本:

StringBuilder tabsLiteral = new StringBuilder();
            tabsLiteral.Append("<ul>");
            foreach (KeyValuePair<string, Tab> kvp in tabs)
            {
                string active = "";
                if (currentTabCaption == kvp.Value.Caption)
                {
                    //active = " class=\"ui-tabs-selected\"";
                }
                tabsLiteral.Append("<li" + active + ">");
                // Note - the kvp.Value.URI determines what should happen when the Tab is clicked
                tabsLiteral.Append("<a id=\"" + kvp.Value.URI + "\" href=\"#panelTabs\">" + kvp.Value.Caption + "</a>");
                tabsLiteral.Append("</li>");
            }
            tabsLiteral.Append("</ul>");
            _panelTabs.Controls.Add(new LiteralControl(tabsLiteral.ToString()));

            HtmlGenericControl ctl = new HtmlGenericControl();
            StringBuilder html = new StringBuilder();
            html.Append("<script type=\"text/javascript\">");
            //html.Append("$(\"#panelTabs\").tabs('option','selected', 2);"); 
            html.Append(@"$(function() {
                alert('initialising tabs');
                $(""#panelTabs"").tabs({
                    ajaxOptions: {
                        error: function(xhr, status, index, anchor) {
                            $(anchor.hash).html(""Couldn't load this tab. We'll try to fix this as soon as possible."");
                        }
                    },
                    select: function(event, ui) {
                        getPage('hps.aspx?cmd=zz_' + ui.tab.id, 'panelA');
                    }
                });
            });");
            html.Append("$(\"#panelTabs\").tabs({selected: 2});");
            html.Append("</script>");
            ctl.InnerHtml = html.ToString();
            //_panelTabs.Controls.Add(ctl);
            Page.Controls.Add(ctl);

您正在寻找的是选定的选项. E.g.

$("#MyTabs").tabs({
  selected: 2 
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jQuery 选项卡选择特定选项卡 的相关文章

随机推荐

  • PerformSelector:withObject:afterDelay:无法从scrollViewDidZoom工作

    我觉得我应该知道这一点 但我已经被难住了好几个小时 而且我已经没有想法了 原理很简单 用户使用捏合操作来操纵滚动视图中的缩放和定位 如果他们捏捏的时间很短 那么滚动视图就会记录缩放级别和内容偏移量 所以我想我应该在scrollViewDid
  • 类的 mro 方法和 __mro__ 属性有什么区别?

    我偶然发现了这个额外的 无下划线的mro我使用时的方法 metaclass abc ABCMeta 似乎是一样的 mro 只是它返回一个列表而不是元组 这是一个随机示例 创意片段 import abc import copy class L
  • 如何在 Ruby 中临时重定向 stderr?

    我想在一个块的持续时间内临时重定向 Ruby 脚本中的 stderr 确保在块结束时将其重置为其原始值 我很难在 ruby 文档中找到如何做到这一点 在红宝石中 stderr指的是输出流目前使用的作为标准错误 而STDERR is the
  • 如何使用 OnItemClick 从列表视图中检索单击的字符串?

    我这里有一些问题 它看起来很简单 我一直在寻找它的解决方案 不幸的是 我找不到任何东西 这是我的问题 我想做的是从项目单击方法中获取列表视图中显示的字符串 这是我的列表视图 lol hi waw 当我单击 lol 时 我想获取 lol 字符
  • 容器视图控制器 - 通知父级操作

    假设我有一个自定义容器视图控制器 MainViewController 我在其中执行如下操作 void viewDidLoad super viewDidLoad HomeViewController homeVC HomeViewCont
  • C++ 保留字作为 C 结构体中的函数指针名称

    我怀疑我已经知道这个问题的答案 但我很好奇是否有专家有任何技巧 我有一个旨在成为 C 框架的 C 库 未使用不安全函数 类似的跨平台命名约定等 这工作得很好 直到我尝试在 C 项目中使用它 其中 C 命名空间 函数名称与 C 保留字冲突 在
  • 在 ListView 顶部显示新项目

    我正在使用列表来填充 ListView 用户可以将项目添加到列表中 但是 我需要将项目显示在 ListView 的顶部 如何在列表开头插入项目以便以相反顺序显示它 默认情况下列表在底部添加元素 这就是为什么您添加的所有新元素都会显示在底部
  • python: Windows 相当于 SIGALRM

    我有这个装饰器 def timed out timeout def decorate f if not hasattr signal SIGALRM return f def handler signum frame raise Timed
  • 获取 Google 访问令牌

    要在 firebase 身份验证登录后获取 Google 访问令牌 我知道我可以简单地执行以下操作 firebase auth signInWithPopup provider then function result var token
  • 信誉良好的地理 IP 定位服务 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 谁是一些信誉良好和 或稳定的地理 IP 定位服务提供商 我正在指定一个需要此功能的应用程序 每当我搜索 geo ip 时 我都会得到大量的点击 但很
  • 如果 Sql Compact 允许多个连接,为什么我会收到文件共享错误?

    Here据说Sql Server Compact最多允许256个连接 但是当我尝试打开 2 个连接时 我收到文件共享错误 我该如何解决这个问题 SqlCeConnection c1 new SqlCeConnection Data Sour
  • 如何在 Quarkus 应用程序中设置 H2 数据库控制台 url

    Spring boot 应用程序提供了一个属性来设置 H2 数据库的 Web 控制台 URL spring h2 console path h2 有没有办法在 Quarkus 应用程序中设置相同的属性 如果不是那么默认是什么 Web 控制台
  • 如何使用 Content-Encoding 读取压缩的 HTML 页面:gzip

    我请求一个发送内容编码 gzip标题 但卡住了如何阅读它 My code try URLConnection connection new URL http jquery org openConnection String html Buf
  • PHP in_array() 的性能很糟糕。搜索数组值的最快方法

    我有以下简单的代码来测试我正在创建的主键上的冲突 machine ids array for i 0 i lt 100000 i Generate machine id returns a 15 character alphanumeric
  • 如何在 Django 上引发多个 ValidationError?

    from rest framework exceptions import ValidationError def to representation self request data raise ValidationError fiel
  • Python - 一次从文件中读取 1000 行

    我查过this this and this 第三个链接似乎有答案 但它没有完成任务 我无法找到将整个文件放入主内存的解决方案 因为我将使用的文件将非常大 所以我决定使用islice如第三个链接所示 前 2 个链接无关紧要 因为它们仅使用了
  • 无法使用 Webpack 加载 font-awesome [重复]

    这个问题在这里已经有答案了 尝试使用 webpack 加载 font awesome 会出现以下错误 ERROR in font awesome fonts fontawesome webfont eot v 4 6 3 Module pa
  • 如何使用 PowerShell 解析网站的 HTML

    我正在尝试检索有关网站的一些信息 我想查找特定的标签 类 然后返回包含的文本值 innerHTML 这就是我到目前为止所拥有的 request Invoke WebRequest Uri url UseBasicParsing HTML N
  • 如何将 ffmpeg 输入流的输出文件大小限制为 10 MB

    我正在使用 ffmpeg 订阅来自 tvheadend 的输入流 并且我正在将该流连续写入磁盘 我想限制这个输出流 以便任何时候最多存储 10 兆字节的数据 我已经研究了 moreutils 中的海绵和 linux buffer 命令来构建
  • jQuery 选项卡选择特定选项卡

    我有一个包含一组 jQuery 选项卡的页面 所有选项卡都指向同一个目标 div 但通过 ajax 加载不同的内容 当我执行初始整页加载时 我需要根据各种因素以不同方式设置活动选项卡 目标 div 中的内容已在服务器上设置用于此初始加载 因