gpt4 book ai didi

asp.net - jQuery 隐藏所有包含与值匹配的隐藏字段的表行

转载 作者:行者123 更新时间:2023-12-01 00:59:31 27 4
gpt4 key购买 nike

尽管我毫不怀疑这个问题已得到解答,但我找不到与我的问题完美匹配的内容。

我有一个表,我想根据行是否包含与值匹配的隐藏字段来过滤行。

我知道该技术往往是“显示所有行”、“过滤集合”、“显示/隐藏过滤后的集合”

我有以下 jquery,但我对过滤器很满意,并且我的过滤集似乎始终不包含任何元素。

我的 table 是普通的

<table>
<tr><td>header></td><td>&nbsp;</tr>
<tr>
<td>a visible cell</td><td><input type='hidden' id='big-asp.net-id' value='what-im-filtering-on' />
</td>
</tr>
</table>

我的目标是能够匹配 tr 的后代包含包含 true 或 false 的隐藏输入。

这就是我尝试选择器的方式(它的变体),我什至还没有测试该值。

function OnFilterChanged(e){
//debugger;
var checkedVal = $("#filters input[type='radio']:checked").val();
var allRows = $("#match-grid-container .tabular-data tr");
if(checkedVal=="all"){
allRows.show();
}
else if(checkedVal=="matched"){
allRows.show();
allRows.filter(function(){$(this).find("input[type='hidden'][id~='IsAutoMatchHiddenField']")}).hide();

}
else if(checkedVal=="unmatched"){

}
}

我离过滤器还差吗?过滤器中是否需要 $(this) 以便我可以进行后代搜索?

谢谢

基于下面这些很棒的建议,我发现以下方法可以解决问题。我错过了过滤器闭包函数必须根据过滤器条件返回 true/false 的事实。另外,ends-with 选择器非常适合基于 INamingContainer 的 asp.net 生成的 id

allRows.show();
allRows.filter(function(){
return $(this).find(
"input[type='hidden'][id$='IsAutoMatchHiddenField']").val() == "False";
}).hide();

最佳答案

$('#mySelector :hidden').filter(
function (index)
{
return $(this).find('.repeatedObject').val() == 'someValue';
}
).hide();

filter() 函数需要返回一个 bool 值来实际确定是否将元素保留在列表中。检查 API ( http://api.jquery.com/filter/ ) 了解更多信息。

此外,作为旁注,val()html()text() 和其他相关函数返回信息从集合中的第一个元素开始。如果您想循环,则必须使用 eachfor 循环。

关于asp.net - jQuery 隐藏所有包含与值匹配的隐藏字段的表行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2648861/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com