无法从Jquery中的子选项卡中获取选项卡ID

时间:2013-09-27 05:01:29

标签: jquery tabs

我使用的标签结构如下:

<div id="tabs">
        <ul>
            <li><a href="#dia_details">Details</a></li>
            <li><a href="#tab_raise_req">Raise Req</a></li>
        </ul>
        <div id="dia_details">
            <div id="sub_tabs">
                <ul>
                    <li><a href="#DIA_details">DIA Details</a></li>
                    <li><a href="#allocate_ba">Allocate BA</a></li>
                </ul>
                <div id="DIA_details>
                    <form>
                    --Code--
                    </form>
                </div>
                <div id="allocate_ba">
                    <form>
                    --Code--
                    </form>
                </div>
            </div>
        </div>
        <div id="tab_raise_req">
            <form>
                --Code--
            </form>
        </div>

当我在子选项卡中并想要保存我已定义按钮的特定选项卡时,我想获取当前活动选项卡的选项卡ID .....这是子选项卡之一。

为此我在Jquery中使用了以下函数:

// Save Changes button click
$("#save_changes_id").click(function() {
    //  To retrieve the current TAB and assign it to a variable ...
    var curTab = $('.ui-tabs-active'); 
    var curTabPanelId = curTab.find("a").attr("href");
    responseData = doAjaxCall($(curTabPanelId + " form"));
    if(responseData == 1) 
        showMessage('status_msg', 'Project details updated successfully', 'green');
    else
        showMessage('status_msg', 'Error: Please check all the fields', 'red');
});

此函数返回父标签的id而不是子标签。我尝试使用addClass和removeClass但没有用。

请为此建议解决方案。提前感谢你。

2 个答案:

答案 0 :(得分:0)

$('.ui-tabs-active')会找到两个div,即父选项卡和子选项卡。尝试使用$('.ui-tabs-active:last')获取最低级别标签。

答案 1 :(得分:0)

您也可以尝试

    var curTab = $('#sub_tabs .ui-tabs-active');