[英]How to get checked row values with jQuery?
我一直在尝试获取使用剃刀进行模型绑定的隐藏文本框的值。 该表由每行的 2 个隐藏输入类型组成。 我想获取ID 为purDate的文本框的值。
我该怎么做呢。
这是参考表
<table id="accounts" class="ui celled selectable table">
<thead>
<tr>
<th>Acc No</th>
<th>Purchased Date</th>
</tr>
</thead>
<tbody>
@foreach (var item in Model.WithdrawelAccounts)
{
<tr>
<td style="text-align:center">
<input id="@item.ACC_AC_ID" type="checkbox" class="ui checkbox check" name="example" />
<input id="accts" type="hidden" value="@item.ACC_NO_OF_AC_CURRENT" style="display:none" />
</td>
<td style="text-align:center">
@item.ACC_PURCHASE_DATE.ToString("dd/MMM/yyy")
<input class="pDate" id="purDate" type="hidden" name="purDate" value="@item.ACC_PURCHASE_DATE" style="display:none" />
</td>
</tr>
}
</tbody
</table>
这是我尝试检索值的方式
<script>
$('#frm_submit').click(function (event) {
var purDate = [];
$.each($("input[type=checkbox]:checked").parents("td"), function () {
noOfAcc.push($(this).find('input[type=hidden]').attr("value"));
purDate.push($('#purDate').val());
//purDate.push($(this).find("input[id='purDate']").text());
});
});
var purDate = [];
</script>
如您所见,我尝试使用 id purDate
获取值,但结果具有重复值
控制台上的输出。
purdate (2) ["2/1/2014 12:00:00 AM", "2/1/2014 12:00:00 AM"]
正如您所看到的,根据我的想法,它只采用了循环中的第一个<td>
值。
实际结果应该是
purdate (2) ["2/1/2014 12:00:00 AM", "2/4/2019 12:00:00 AM"]
如何根据需要正确循环并获取表中的值。 帮助将不胜感激。
你能试试这个吗
document.formName.elements['purDate'].value
你在这里有错误。
$('#purDate').val()
它获取第一个#purDate
值。 您的id
应该是唯一的。 为了解决这个问题,你可以把它放在一个类中。
删除重复的id
并将其移动到class
。
@foreach (var item in Model.WithdrawelAccounts)
{
<tr>
<td style="text-align:center">
<input id="@item.ACC_AC_ID" type="checkbox" class="ui checkbox check" name="example" />
<!-- Remove the accts id-->
<input class="accts" type="hidden" value="@item.ACC_NO_OF_AC_CURRENT" style="display:none" />
</td>
<td style="text-align:center">
@item.ACC_PURCHASE_DATE.ToString("dd/MMM/yyy")
<!-- Remove the purDate id and put in in a class-->
<input class="pDate purDate" type="hidden" name="purDate" value="@item.ACC_PURCHASE_DATE" style="display:none" />
</td>
</tr>
}
然后在你的 jQuery 中:
$.each($("input[type=checkbox]:checked").parents("td"), function () {
//noOfAcc.push($(this).find('input[type=hidden]').attr("value"));
//purDate.push($('#purDate').val());
// This will get the closest class in selected checkbox
noOfAcc.push($(this).closest('.accts').val());
purDate.push($(this).closest('tr').find('.pDate').val());
//purDate.push($(this).find("input[id='purDate']").text());
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.