首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery TableSort插件

jQuery TableSort插件
EN

Stack Overflow用户
提问于 2013-07-29 13:40:42
回答 1查看 63关注 0票数 1

我正在使用表操作的jquery插件,我在一件事上遇到了一点麻烦。

我有一个有10列的表,我有一个过滤器,如果我取消一个框,使用CSS display:none从表中删除关联的列。

这一切都很好,但是当我使用分页时,这些细节就会显示出来。

表分类器插件似乎放松了表数据并显示所有行,即使它们被设置为display:none

如果没有显示/隐藏这些列,那么当触发分页时,这些列是否不显示?

谢谢

编辑:

代码语言:javascript
复制
    $("#searchContainer #toggleOptions ul li a").on(

          {click: function()

                  {

                      //detect classes
                      var currentButtonCnt = $(this).parent().attr("class");
                      var currentState = $(this).attr("class");

                      //remove _btn
                      currentButton = "."+currentButtonCnt.substr(0, currentButtonCnt.length-4); 

                       var ids = [];
                      //toggle  
                      if(currentState == "ticked"){

                              $(currentButton).hide();
                              $(this).removeClass('ticked')

                      }else{

                              $(currentButton).show();  
                              $(this).addClass('ticked')

                      }

                 }

          }//end click 

    )
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-29 14:07:30

看起来,每次为每一行/列切换页面时,Tablesorter的寻呼机插件都在交换<td>元素。我猜您的display:none样式只应用于您想要隐藏的当前显示的<td>,因此每当您切换到下一页时,新的<td>就会翻转,不会受到display:none函数的影响。

假设您的函数循环遍历您的<table>,并根据选中的哪个checkbox找到<td>的正确列以隐藏,那么您应该能够通过每次单击寻呼机nextprevious按钮时调用隐藏适当列on click的函数来修复问题。

编辑:

您可以将Next和Prev按钮选择器添加到函数中,如下所示:

代码语言:javascript
复制
//Add .next and .prev selectors here to your click function
$("#searchContainer #toggleOptions ul li a, .next, .prev").on(

          {click: function()

                  {

                      //detect classes
                      var currentButtonCnt = $(this).parent().attr("class");
                      var currentState = $(this).attr("class");

                      //remove _btn
                      currentButton = "."+currentButtonCnt.substr(0, currentButtonCnt.length-4); 

                       var ids = [];
                      //toggle  
                      if(currentState == "ticked"){

                              $(currentButton).hide();
                              $(this).removeClass('ticked')

                      }else{

                              $(currentButton).show();  
                              $(this).addClass('ticked')

                      }

                 }

          }//end click 

    )

看起来,Tablesorter页面插件将类默认为.next.prev。检查此处:http://tablesorter.com/docs/example-pager.html并检查按钮元素。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17925636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档