2010-07-28 46 views
1
<table id='mytab'> 
    <tr> 
     <td colspan="6">OS</td> 
    </tr> 
    <tr> 
     <td></td> 
     <td>Fedora</td> 
     <td>Cent Os</td> 
     <td>Ubuntu</td> 
     <td>Suse</td> 
     <td>Redhat</td> 
    </tr> 
    <tr> 
     <td colspan="6">Versions</td> 
    </tr> 
    <tr> 
     <td></td> 
     <td>6</td> 
     <td>v2.4</td> 
     <td>beta 2</td> 
     <td>8</td> 
     <td>2008</td> 
    </tr>  
    <tr> 
     <td></td> 
     <td>7</td> 
     <td>v3.4</td> 
     <td>1</td> 
     <td>9</td> 
     <td>2009</td> 
    </tr> 
    <tr> 
     <td></td> 
     <td>10</td> 
     <td>v4.4</td> 
     <td>2</td> 
     <td>10</td> 
     <td>2010</td> 
    </tr>   
    <tr> 
     <td colspan="6">Support</td> 
    </tr> 
    <tr> 
     <td></td> 
     <td>All Support Free</td> 
     <td>Partial Support</td> 
     <td>Paid Support</td> 
     <td>Community Support</td> 
     <td>Full support</td> 
    </tr> 
</table> 

jQuery的JavaScript的jQuery的顯示/隱藏

 $('#mytab td').hide(); 
     $('#mytab td:nth-child(1)').show(); 
    $('#mytab td:nth-child('whatever_column_selected')').show(); 

每當whatever_column_selected,它的假設,以顯示所選列,它的顯示,並且還顯示操作系統,版本和支持

所以我想要什麼如果選擇了suse,則設置爲以下格式: OS - > Suse

版本 - > 8 9 10

支持 - >社區支持

如果我需要更換表來div來獲得所需的輸出結果,那會也提前工作

感謝

+0

選擇瞭如何?第一行有鏈接嗎?行爲直接附加到'td's? – 2010-07-28 04:31:46

+0

我很困惑如何選擇'Suse'?到它隱藏的事實......嗯...... – Reigel 2010-07-28 04:39:40

+0

有一個JavaScript函數,所以每當有人點擊Fedora或suse或任何單元格將被連接。一旦你點擊了suse,鏈接就會出現在第二行 – dave 2010-07-28 04:40:42

回答

1

我有HTML here有一些變化..

$(function(){ 
    $('#mytab tr.header td').click(function(){ 
     var index = $(this).index() + 1; 
     $('#mytab tr td:nth-child(' + index + ')').siblings().hide(); 
    }) 
});​ 

更新demo

$(function(){ 

    $('th').each(function(){ 
     var text = $(this).text(); 
     $(this).data('text',text); 
    }); 
    $('#mytab tr.header td').click(function(){ 
     var index = $(this).index() + 1; 
     $('#mytab tr:has(th)').each(function(){ 
      var str = $(this).nextUntil('tr:has(th)') 
       .find(':nth-child('+index+')').map(function(){ 
       return $(this).text(); 
      }).get().join(" "); 
      $(this).find('th').html(function(){ 
       return $(this).data('text') + '<span>--&gt; ' + str + '</span>'; 
      }) 
     }); 
    }) 
});​ 
+0

感謝Reigel的回答,但在顯示/隱藏中沒有問題。 顯示數據時出現問題。 如果點擊的東西/選擇,則顯示的格式被假設是這樣

​​OS​​粟色 ​​版本 ​​8 ​​9 ​​10 ​​支持 ​​社區支持
感謝 – dave2010-07-28 04:55:27

+0

哦?..你想讓它顯示爲像一個字符串?比如把'OS - > Suse Versions - > 8 9 10 Support - > Community Support'放在桌子下面? – Reigel 2010-07-28 04:57:16

+0

對不起,如果我的話很混亂, suse的版本被列在三個不同的行,8 9 10, 所以無論何時顯示版本,它應該在左側,並且在右側8 9 10側。 (版本當前首先顯示,然後在下一行8和下一行9,最後一行是10),因此所有的都假設爲一行。 – dave 2010-07-28 05:04:05