2011-10-12 70 views
1

表行我下面举个例子http://jsfiddle.net/zidski/MxqRu/1/隐藏与过滤jQuery的

当你点击2010年,我需要评估与列表项消失。

这里是我使用这样做代码:

$("#yearfilter a").live("click", function(e) { 
       e.preventDefault(); 
       //var v = $(this).val(); 
       var v = $(this).attr("data-value"); 
       if(v.length > 0) { 
        $('tr.reports').show(); 
        $('tr.reports ul').hide(); 
        $('tr.reports ul.year-'+v).show(); 
        $('tr.reports').each(function() { 
         if($('ul:visible', this).size() == 0) { 
          $(this).hide(); 
         } 
        }); 
       } else { 
        $('tr.reports').show(); 
        $('tr.reports ul').show(); 
       } 
      }); 

回答

0

给每个TR的ID类似id="row_2010"然后寻找和隐藏整个整个行一次。

UPDATE

我会强烈建议不使用那么多的表格和使用更多的类来你的数据结构进行分类。这将帮助您的JavaScript更简洁,简洁,功能更简单。

UPDATE

我调整了所有你javacsript和一些你的HTML。这里是一个完全工作的例子jsFiddle Demo

+0

的TR仅仅是一个容器,它会有不同的几年 - 因此,当显示没有几年那么估值就会消失 – highchartsdude

+0

那么,你是说,如果让我们的方式里面所有的期权定价的行被隐藏,那么整个行需要隐藏? – brenjt

+0

是的,这是正确的 - 任何想法? – highchartsdude

0

我已经在我的项目做事情像这样:

function toggleRow(row_id) { 
    row_selector = "#row_" + row_id; 
    $(row_selector).toggleClass("shown hidden") 
} 

然后在CSS:

.hidden {display:none;} 
.shown {} 

然后在HTML我有交替表行,其中奇数行充当偶数行内容的标题。点击一个奇数行切换相应偶数行的可见性。

... 
<tr onclick="toggleRow(17)">...</tr> 
<tr class="hidden" id="row_17">...</tr> 
...