[英]how to select only filtered rows using selectall javascript
我在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);
因此,現在復選框復選框正在過濾並僅應用可見的復選框。
非常感謝奧古斯托
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.