我试图获取复选框的行索引,当前代码我可以获取复选框的选中值。最近的不工作和我的堆栈。 如果我选中网格行1上的一个框,则警报应显示1
$(":checkbox").change(function () {
if ($(this).is(':checked')) {
var id = $(this).closest("tr");
alert(id.innerText);
} else {
alert("Failed");
}
});
编辑: iv添加了这一行
var $id = $(this).closest("tr");
alert($id.index() + 1)
var table = document.getElementById("tblSearchLogs");
var appid = table.rows[$id].cells[1].innerText
但它给了我一个错误
0x800a138f - JavaScript运行时错误:无法获取属性' cells' 未定义或空引用
表DIV
<div class="row" style="margin-top: 1em;">
<div class="table-responsive">
<table id="tblSearchLogs" class="table table-bordered table-striped">
<thead>
<tr >
<th style="width: 5%; font-weight:bold"> </th>
<th style="width: 10%; font-weight:bold">No.</th>
<th style="width: 30%; font-weight:bold">App ID</th>
<th style="width: 30%; font-weight:bold">Name</th>
<th style="width: 40%; font-weight:bold">Date of Birth</th>
</tr>
</thead>
<tbody>
@{
if (Model != null)
{
int x = 1;
foreach (xxxx.Models.Class.Listxx ldx in Model.searchlist)
{
<tr>
<td> <input type="checkbox" class="divChckBox"/> </td>
<td>@x </td>
<td id="appid">@ldx.AppID</td>
<td>@ldx.Name </td>
<td>@ldx.DOB</td>
</tr>
x++;
}
}
}
</tbody>
</table>
</div>
答案 0 :(得分:0)
InnerText
用于获取和设置element的text属性。它也不能在这里工作,因为你在元素的jquery对象而不是DOM元素上调用它。
你需要在这里使用元素索引:
var $id = $(this).closest("tr");
alert($id.index() + 1); // as index starts from 0