2013-09-27 38 views
0

我使用的是下面的选项卡结构:无法jQuery中的子选项卡读取标签ID

<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,但没用。

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

+0

大概调试和检查$(“UI的选项卡处于激活状态”),返回多少个元素。它可能会返回两个元素,一个父母和另一个子元素。尝试提醒($('。ui-tabs-active')。)长度 – Shoogle

回答

0

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

+0

工作得很好.....谢谢你一堆..... –

0

您也可以尝试

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

真的很棒.....谢谢你... 。 –

相关问题