Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用selectall javascript仅选择筛选的行_C#_Javascript_Jquery_Asp.net_Gridview - Fatal编程技术网

C# 如何使用selectall javascript仅选择筛选的行

C# 如何使用selectall javascript仅选择筛选的行,c#,javascript,jquery,asp.net,gridview,C#,Javascript,Jquery,Asp.net,Gridview,我在gridview上有一个用于过滤文本框的脚本,在每行上有一个用于复选框的脚本。 当我过滤网格中的某些内容时,我将得到一些过滤后的行。。我想使用selectall脚本选择过滤的行。但它正在选择网格中的所有结果 选中复选框脚本: $("#<%=gvCheckDetails.ClientID%> input:checkbox").live("click", function(event) { var tbl = $("#<%=gvCheckDe

我在gridview上有一个用于过滤文本框的脚本,在每行上有一个用于复选框的脚本。 当我过滤网格中的某些内容时,我将得到一些过滤后的行。。我想使用selectall脚本选择过滤的行。但它正在选择网格中的所有结果

选中复选框脚本:

      $("#<%=gvCheckDetails.ClientID%> input:checkbox").live("click", function(event) {
            var tbl = $("#<%=gvCheckDetails.ClientID%>");
            var checkbox = $(this);
            var checkState = checkbox.is(":checked");
            var ancestorName = checkbox.parent().parent()[0].nodeName; // tr or th?                

            // if it's a header, we'll work with all rows (select on or off)
            if (ancestorName.toLowerCase() === "th") {
                $(tbl[0].config.rowsCopy).each(function() {
                    if (checkState)
                        $(this).find("input:checkbox").attr('checked', true);
                    else
                        $(this).find("input:checkbox").removeAttr('checked');
                });
            }
        });
当selectall checked search textbox在aspx中使用jscript动态过滤网格行时,如何修改上述脚本以仅选择过滤值?

可见选择器通常会执行此操作。它将只过滤可见的元素,包括DOM中的父元素

$(tbl[0].config.rowsCopy).filter(':visible').each(function() {
根据答案解决:

刚刚更换

$(this).find("input:checkbox").attr('checked', true);

所以现在复选框检查是过滤和应用只可视的


非常感谢您,Augusto

您能发一篇这篇文章吗?那么您可以使用全选来选择已经从全选中筛选出来的行吗?这让我有点不舒服。问题现在解决了。。把答案贴在下面。感谢您的快速回复。感谢Augusto,它看起来像解决方案,但不起作用。当我单击selectall复选框时,什么都没有发生。。。可能我们需要更改代码中的某些内容或某些地方。您是否可以修改它以使其正常工作…您是否可以检查$tbl[0].config.rowsCopy.filter':visible'是否返回某些内容,即您所排除的内容-可见行?最后,通过添加筛选器$this.filter':visible解决了问题。findinput:checkbox.attr'checked',true;
$(this).filter(':visible').find("input:checkbox").attr('checked', true);