从复选框中获取Grid的RowIndex

时间:2017-12-28 06:58:32

标签: jquery

我试图获取复选框的行索引,当前代码我可以获取复选框的选中值。最近的不工作和我的堆栈。 如果我选中网格行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>

1 个答案:

答案 0 :(得分:0)

InnerText用于获取和设置element的text属性。它也不能在这里工作,因为你在元素的jquery对象而不是DOM元素上调用它。

你需要在这里使用元素索引:

 var $id = $(this).closest("tr");
 alert($id.index() + 1); // as index starts from 0