【问题标题】:Toggle visibility of table row切换表格行的可见性
【发布时间】:2016-05-10 19:00:04
【问题描述】:

我不得不为一个有很多选项的表编写一个过滤器。

我的做法是:

在获取行的 for 循环中,将选项的信息推送到数组中:

<script>
      if (arrayTypes == null){
        var arrayTypes = [];
        arrayTypes.push("{{option}}");
      }
      else{
        arrayTypes.push("{{option}}");     
      }
</script>

当循环结束时,我有一个数组与表中每个选项的类型和索引位置相匹配,所以:

表格行,选项 |数组索引

第 1 行,A........| [0] = A

第 2 行,B.......| [1] = 乙

第 3 行,A........| [2] = A

第 4 行,A........| [3] = A

等等……

现在我正在尝试这样设置:

$("#type_filters").on('click',"button[name='hide-A']",function(){
    for(var i=0;i<=arrayTypes.length;i++){
      if(arrayTypes[i] == 'A'){
        $("#my-table tr.option")[i].toggle();
      }
    }
  })

但我在日志中收到一条错误消息,指出 toggle() 不是函数。

有人可以帮忙吗?

【问题讨论】:

  • 尝试使用$($("#my-table tr.option")[i]).toggle();
  • @Idanb 这行得通,你不想发布答案吗?
  • 没关系,您也可以接受 Tyr 的回答,但感谢您的体贴:)

标签: jquery arrays html-table


【解决方案1】:

$("#my-table tr.option")[i] 不是 jQuery 对象,因此切换不可用。您将获得特定的 HTML 元素。要使用切换,你必须把它放回 jQuery:

var row = $("#my-table tr.option")[i];
$(row).toggle();

【讨论】:

  • 这与 Idanb 在评论部分的回答一起使用。你想改进你的答案吗?
  • 我的回答是提前 1 分钟。 :o
【解决方案2】:
$("#type_filters").on('click',"button[name='hide-A']",function(){
  $.each(arrayTypes,function(i,v) {
      if(v == 'A'){
       var _thisRow = $("#my-table tr.option")[i];
       $(_thisRow).toggle();
      }
  });
});

【讨论】:

    猜你喜欢
    • 2012-06-25
    • 2012-10-04
    • 2019-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多