复选框,仅检查复选框表jQuery中的一行

时间:2015-02-16 11:31:49

标签: jquery asp.net-mvc asp.net-mvc-4 loops checkbox

似乎这不是什么大问题,但我仍然无法解决问题: 在我的剃刀视图中,我显示了许多按三列组成的复选框,我想为检查所有行(每3个复选框)的每一行创建一个复选框,所以这是我使用jQuery做的:

   <table>
        <tr>
            @{
                int cnt = 0;
                string sr =null;
                string j = null;
                List<Security.Models.AssignedRolesVM> Roles = ViewBag.tp_role;

                foreach (var role in Roles)
                {
                    if (cnt++ % 3 == 0)
                    { sr=cnt.ToString();
                      j =(cnt+1).ToString();
                     @:</tr><tr>
                         @: <td><input type="checkbox" id=j  /></td>
                            <script src="~/Scripts/jquery-1.10.2.min.js">
                            </script>
                            <script type="text/javascript">
                                $(function () {
                                    $(j).click(function () {
                                        $('input[name=sr]').prop("checked", $(this).prop("checked"));
                                    });
                                    $('input[name=sr]').click(function () {
                                        if ($('input[name=sr]').length == $('input[name=sr]:checked').length) {
                                            $(j).prop("checked", "checked");
                                        }
                                        else {
                                            $(j).removeProp("checked");
                                        }

                                    });
                                });
                            </script>
                    }
                    @:<td>
                        <input type="checkbox"
                           name=sr
                           class="checked"
                           value="@role.RoleID"
                           @(Html.Raw(role.Assigned ? "checked=\"checked\"" : "")) />
                           @role.RoleID @:  @role.Name
                    @:</td>
                }
                @:</tr>
            }
    </table>

但它不是只检查行,而是检查所有复选框。 在我看来,循环是正确的(sr应该在每次模数3时改变),任何帮助?

0 个答案:

没有答案