如何通过支票或取消选中表格中的复选框提交?

时间:2010-05-18 06:50:52

标签: asp.net-mvc

我的表格中有以下内容

<td><input id="Notifications_0__IssueCreate" name="Notifications[0].IssueCreate" type="checkbox" value="true" /><input name="Notifications[0].IssueCreate" type="hidden" value="false" /></td>
        <td><input id="Notifications_0__AllChanges" name="Notifications[0].AllChanges" type="checkbox" value="true" /><input name="Notifications[0].AllChanges" type="hidden" value="false" /></td>

在局部视图中,它被称为:

<%int count = 0; %>
 <%foreach (var item in Model.List)
   {%>
        <tr>
        <td><%=Html.CheckBox("Notifications[" + (count) + "].IssueCreate", item.IssueCreate)%></td>
        <td><%=Html.CheckBox("Notifications[" + (count++) + "].AllChanges", item.AllChanges)%></td>
       </tr>
   <%}
 %>

我想在每次点击任何复选框时提交给控制器。即,如果用户选中该复选框,它会使用ajax帖子发送复选框的名称,如果选择或不选择给控制器。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

这是一个示例函数,它为所有复选框注册一个click事件处理程序,并通过AJAX将被点击元素的名称和值发布到控制器操作:

$(function() {
    $('input:checkbox').click(function() {
        var $this = $(this);
        $.post(
            '/home/action', 
            {
                name: $this.attr('name'),
                value: $this.val()
            }, 
            function(data) {
                alert('success');
            }
        );
    });
});