2012-07-19 77 views
2

我有一個表格,表格行應該是可以點擊的,除了那個行的最後一個td。所以點擊後會打開一個新窗口到一個新的URL。可點擊的表格行預計最後td並在上一個td展開表格行

但是在同一個表格行中,最後一個td也需要點擊才能展開表格行以獲取更多詳細信息。目前我有這個工作,但沒有一個可點擊的整行是(我不想)。

爲擴大表行的代碼是: -

$("#report tr:odd").addClass("odd"); 
     $("#report tr:not(.odd)").hide(); 
     $("#report tr:first-child").show(); 

     $("#report tr.odd").click(function(){ 
      $(this).next("tr").toggle(); 
      $(this).find(".arrow").toggleClass("up"); 

     }); 

所以,總體來說,我需要的行可點擊想到最後TD。

最後td我想通過點擊td而不是整行來展開表格行嗎?

任何幫助將是偉大的 - 我知道我需要什麼我只是不知道如何寫它。

回答

3

代替將click事件對整個tr的,你可以把它應用到相關的細胞,而不是像這樣:

$("#report tr.odd td:not(:last-child)") 

這將選擇行中的每個td除了最後一個行中。

然後,爲了訪問下一個tr,你需要太多改變選擇:

$(this).parent().next("tr").toggle(); 

這將讓的你點擊td父(一tr),然後尋找下一個。如果.arrow類適用於TR,同樣需要有發生:

$(this).parent().find(".arrow").toggleClass("up"); 
+0

我需要除了最後一個TD,一旦點擊打開一個新的URL行點擊。我添加了:$('#report tr td:not(:last-child)')。click(function(){OPEN URL});這沒有效果。行中的最後一個td需要展開錶行才能顯示更多,第一個代碼中的代碼使用jExpand擴展行。沒有任何影響。在行execpt – Paul 2012-07-19 10:52:05

+0

//打開新的URL上點擊最後一個孩子 \t \t \t $( 「#報告tr.odd TD:沒有(:最後一個孩子)」)。點擊(函數(){ \t \t \t \t警報( 「HELLO WORLD!」); \t \t \t}); \t \t \t \t \t \t //展開去年子行只點擊/不整排 $( 「#報告TR:奇」)addClass( 「奇」)。 (「#report tr:not(.odd)」)。hide(); (「#report tr:first-child」)。show(); ()# $(this)。(「#report tr.odd」)。click(function(){ toggleClass(「up」); \t \t \t \t }); – Paul 2012-07-19 10:57:05

+0

關於如何到達necassary'tr'的更新答案 – cchana 2012-07-19 11:48:22