【问题标题】:How do i set the active tab in a tab container without using the index of the tab?如何在不使用选项卡索引的情况下在选项卡容器中设置活动选项卡?
【发布时间】:2013-03-25 08:22:50
【问题描述】:

我有一个标签容器,叫它 tbcSP。它有三个面板,每个面板都有 id,分别对应 Iss、workIss 和 katIss。

现在,我使用查询字符串使用链接转到保存选项卡容器的页面。我没有问题。我可以从链接/查询字符串中获取面板的 ID(例如:单击 default.aspx 上的厨房链接并获取查询字符串 ../staff.aspx?id=katIss)。我可以得到katIss

现在,我已经阅读并仅看到了有关如何使用选项卡索引设置活动选项卡的示例。但是如果我有标签的 id 怎么办呢?

如果id相同,有没有办法创建一个数组并找到索引?或者,我已经尝试过了,有没有另一种说法: $find("tbcSP")._tabs[--what here--]._show()

到目前为止,这是我的脚本语言:

<script type="text/javascript">
        function pageLoad() {
            var surl = unescape(window.location);
            var con = surl.substr(surl.indexOf("id=")+3, surl.length);
            findTab(con);
        }

        function findTab(con) {
            alert(con);
            if (con != "") {
               $find("tbcSP")._tabs[0]._show();

            }
        }
    </script>

正如我所说,这让我得到了 katIss 或我点击的任何链接。但是假设我不知道索引,我该如何设置活动标签?

提前致谢

【问题讨论】:

    标签: javascript asp.net tabpanel tabcontainer


    【解决方案1】:

    如果你有标签的id,你可以简单地在带有id的元素上设置一个类。

    var id; // assume has a value
    document.getElementById(id).className = 'active';
    

    然后使用 CSS 为您的活动选项卡和非活动选项卡设置样式。

    .tab {
        /* CSS for inactive tabs */
        color:gray;
    }
    .tab.active {
        color:black;
    }
    

    【讨论】:

    • 好的。三件事。 1:我是否将此代码放在上面的 findTab(con) 函数中? 2:除了说风格还有别的方法吗?和 3:我是否将 tabcontainer cssclass 更改为“活动”?
    • 1.当您可以访问 id 时使用document.getElementById(id).className = 'active';,在findTab 中是的。 2. 样式是最好的方法,您可以在 JavaScript 中应用 CSS,但是您只是在 JavaScript 中编写 CSS,这很糟糕。 3. 你想在你的标签上设置一个类,以便你可以设置它的样式。
    • 如果您对打勾感到满意,请不要忘记接受答案。
    猜你喜欢
    • 2013-07-24
    • 1970-01-01
    • 1970-01-01
    • 2019-05-17
    • 2017-01-09
    • 1970-01-01
    • 2016-09-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多