2009-09-11 34 views
1

我有一张表,这是从旧的XML文件使用XLST生成的风格的页面,这些文件“CANT”可以由我自己修改,但都有一个通用模板库对他们...和所有使用goTab()函数来显示或隐藏特定的divJavascript或jQuery传递ID值以显示或隐藏选定的Div

<table cellspacing="0" cellpadding="0"> 
<tr> 
<td class="tab_active" id="tab_1" onclick="goTab(1)">Key Messages</td> 
<td class="tab" id="tab_2" onclick="goTab(2)">Links</td> 
<td class="tab" id="tab_3" onclick="goTab(3)">Red Flags</td> 
<td class="tab" id="tab_4" onclick="goTab(4)">Referral Pathway</td> 
<td class="tab" id="tab_5" onclick="goTab(5)">Clinical Data</td> 
<td class="tab" id="tab_6" onclick="goTab(6)">Past Medical/Family History</td> 
<td class="tab" id="tab_7" onclick="goTab(7)">Medication</td> 
<td class="tab" id="tab_8" onclick="goTab(8)">Risks/Alerts</td> 
<td class="tab" id="tab_9" onclick="goTab(9)">Demographics</td> 
<td class="tab" id="tab_10" onclick="goTab(10)">Referral</td> 
<td class="tab" id="tab_11" onclick="goTab(11)">Transport</td> 
</tr> 
</table> 

如果标签已被点击它会显示/隐藏特定的div即:如果tab_1被点击,则显示“divTabControl_1” ,其余的(可以是不同数量的标签& divs在每个文件上)

div的被编码为

<div class="categoryContent" id="divTabControl_1" style="visibility:visible;"> 
content here 
</div> 

我想遍历每个找到“_标签” + tabID已经被点击了哪个,然后使用我需要显示或隐藏基于每个格内容..

再次,我不得不说,我不能编辑文件..喜欢做这在jQuery的功能,只是没有得到的jQuery的理解还没有做到这一点..

任何帮助将是巨大的..

谢谢

回答

1

如果我理解正确,您正在尝试执行goTab功能。我对么 ? 这是你想要实现的吗?

function goTab(index) { 
    // Selector for the div to show (selected by id) 
    visibleDivSelector = "#divTabControl_" + index; 
    // Hide all divs with class "categoryContent" except the one to show 
    $("div.categoryContent:not(" + visibleDivSelector + ")").hide(); 
    // Show selected div 
    $(visibleDivSelector).show(); 
} 

编辑:你可能还想添加一些代码来添加/删除tab/tab_active类给你选项TD。

0
var previousElem = ""; 
    function goTab (tabID) 
    { 
     if (previousElem != "") 
     { 
      $("#divTabControl_" + previousElem).css ("visibility" , "hidden"); 
     } 
     $("#divTabControl_" + tabID).css ("visibility" , "visible"); 

     previousElem = tabID; 
    }