提问者:小点点

如何实现foreach记录上的enable/disable按钮?


我有这个JavaScript来启用/禁用更新按钮。我需要当stats id检查到EnableUpdate按钮。此脚本只在第一行起作用,其他行不起作用。如何实现foreach行记录?

JS代码:

$(document).ready(function(){
    $('#status').click(function () {
        var inputValue = $(this).attr("value");
        $('#btnApprove').prop('disabled', $('#status:checked').length == 0);
    });
});

HTML代码:

@foreach (var item in Model) {
    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.MessageID)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Message)
        </td>
        <th>
            @Html.DisplayFor(modelItem => item.EmptyMessage)
        </th>
        <td>

            @Convert.ToDateTime(item.Date).ToString("dd/MM/yyyy")


        </td>
        <td>
            @Html.CheckBox("status")
        </td>

        <td>
                 <input type="submit" name="Update" id="btnApprove" value="Update" class="btn btn-primary" onclick="location.href='@Url.Action("UpdMessages", "Home", new { MessageID = @Html.DisplayFor(modelItem => item.MessageID)})'" />
        </td>
    </tr>
}

这是视图:


共1个答案

匿名用户

您不能使用id来跟踪它,因为id是唯一的,可以在dom中使用一次。您必须对状态checkbox和button都使用动态类,显示每当一个状态得到check时,获取两者的动态类,或者只是传递参数到change函数,然后使其禁用。如果不需要任何参数,请尝试使用data-attribute添加动态类。