如何使用selectalljavascript仅选择已筛选的行
本文关键字:筛选 选择 何使用 selectalljavascript | 更新日期: 2023-09-27 18:29:10
我有一个用于筛选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时只选择筛选的值(搜索文本框使用aspx中的jscript动态筛选网格行)
:visible
选择器通常会完成此操作。它将只过滤可见的元素,包括DOM中的父元素。
$(tbl[0].config.rowsCopy).filter(':visible').each(function() {
根据Augusto Men解决答案:
刚刚取代
$(this).find("input:checkbox").attr('checked', true);
带有
$(this).filter(':visible').find("input:checkbox").attr('checked', true);
所以现在复选框检查只过滤和应用可见的复选框。
非常感谢Augusto