2012-07-19 76 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