gpt4 book ai didi

javascript - Foreach 表行通过 ID 及其值查找特定控件

转载 作者:行者123 更新时间:2023-12-02 14:31:12 26 4
gpt4 key购买 nike

我正在尝试在 jQuery 中编写一个函数,该函数将遍历所有表行并通过特定的隐藏控件 ID“hdnIsEmpty”搜索隐藏字段值,问题是我不知道如何做到这一点隐藏控件ID,因为还有其他隐藏控件不一定要触摸...也许还有其他方法可以得到我不想要的东西,但这是我不成功的尝试/方法,也是我所知道的唯一方法:

<udc:Repeater ID="repDetailedInformation" runat="server" DataSource='<%# Eval("DetailsInformation") %>'>
<table id="tblDetails">
<tbody>
<tr>
<td>
BLA-BLA-BLA Information
</td>
</tr>
<tr>
<td>
<udc:HiddenField ID="hdnIsEmpty" runat="server" Value='<%#Eval("IsEmpty") %>' />
</td>
</tr>
<tr>
<td>
<udc:HiddenField ID="hdnBlaBla" runat="server" Value='<%#Eval("BlaBla") %>' />
</td>
</tr>
<tr>
<td>
BLA-BLA-BLA Information
</td>
</tr>
</tbody>
</table>

和 jQuery:

<script type="text/javascript">
$(document).ready(function () {
function getHiddenBoolean(name) {
var selector = 'input:hidden[name$="' + name + '"]';
var field = $(selector);
return (field != null && field.length > 0) ? field.val().toLowerCase() == "true" : false;
};

var filteredRows = $('#tblDetails tr td').filter(function () {
return $(this).find('#hdnIsEmpty');
});

$.each(filteredRows, function () {
var isEmpty = getHiddenBoolean(filteredRows);
});
})

最佳答案

您遇到的第一个问题是 ASP.Net Webforms 在运行时更改所有 runat="server" 元素的 id,因此您无法通过它们进行选择。即使可以,在这种情况下也会有重复项,这是无效的。相反,您可以向这些元素添加一个 class 来标识它们。

<tr>
<td>
<udc:HiddenField ID="hdnIsEmpty" runat="server" class="hiddenfield" Value='<%#Eval("IsEmpty") %>' />
</td>
</tr>

从那里你可以循环该类选择器,如下所示:

$(document).ready(function () {
$('#tblDetails tr td .hiddenfield').each(function() {
if ($(this).val().toLowerCase() == 'true') {
// do something here...
}
});
});

如果您无法在控件上添加 class 属性,则可以使选择器更通用:

$(document).ready(function () {
$('#tblDetails tr td input:hidden:first').each(function() {
if ($(this).val().toLowerCase() == 'true') {
// do something here...
}
});
});

关于javascript - Foreach 表行通过 ID 及其值查找特定控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37816172/

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