【问题标题】:getting the title(text) of current selected tab Jquery获取当前选定标签 Jquery 的标题(文本)
【发布时间】:2015-12-16 09:03:46
【问题描述】:

我知道这个问题已被问过several 次,但到目前为止,任何答案都解决了我的问题。如果我有一个标签组件表单 Jquery,每个标签的标题名称是 Tab1:Marc,Tab2:Paul,Tab3:John,我如何获得警报,例如当前所选标签的标题(文本)?例如:如果选定的选项卡第一个是“Marc”,我想进入警报“Marc”而不是 0 作为选项卡的索引。以下是我尝试过但不起作用的方法

function getSelectedTabText() { 
        return $("#tabs").tabs('option', 'active').text();
    }

每个选项卡的文本都是使用 PHP 从数据库加载的,没有任何问题,我可以让我的选项卡组件正确加载每个选项卡的名称。

【问题讨论】:

    标签: jquery jquery-ui tabs


    【解决方案1】:

    活动选项卡附加了一个ui-tabs-active 类,因此您可以与之匹配:

    function getSelectedTabText() { 
        return $("#tabs .ui-tabs-active").text();
    }
    

    小提琴示例:https://jsfiddle.net/wyeeestk/

    【讨论】:

    • 啊,太好了,这一半工作!因为我从 Db 加载了我的文本并且文本没有修复,所以只有当我在 html 声明中设置修复文本时,此代码才有效,例如: 如果我有动态文本怎么办?
    • 您必须等到从服务器检索到数据后才能获取文本。之后,您需要在每次更新服务器数据时使用它重新执行回调。没有简单的“此时使用服务器中的任何内容”选项,这取决于您的用例。添加更多详细信息,我可以尝试提供更多帮助
    • @zgrizzly_7 : 在 ajax 成功中调用 getSelectedTabText
    【解决方案2】:

    你想要这样的东西吗?

    $('.testbtn').click(function(){
        text = $('#tabs').find('.ui-tabs-active').text();
        alert(text);
    });
    

    【讨论】:

    • 谢谢!但结果我越来越空了
    【解决方案3】:

    我没有测试过这个但是...

    function getSelectedTabText() {
            var active = $("#tabs").tabs('option', 'active');
            return $($("#tabs li")[active]).text();
    }
    

    我认为其他问题不起作用的唯一原因是“selected”已被“active”取代,但我可能错了。

    【讨论】:

    • 谢谢!但结果我越来越空了
    猜你喜欢
    • 2010-09-16
    • 1970-01-01
    • 2020-06-04
    • 2019-07-18
    • 2014-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-21
    相关资源
    最近更新 更多