CheckedChange上的回发

时间:2017-10-08 12:51:07

标签: jquery asp.net asp.net-mvc razor

我想根据一些复选框过滤列表,因此当我(联合国)选中一个复选框时,我想回复服务器并在那里进行过滤逻辑。

Postback on RadioButtonFor in MVC上我找到了new { onclick = "this.form.submit();" }),但似乎没有做到这一点。

控制器

public ActionResult Foo(Models.FooViewModel Model)
{
    return View(Model);
}

查看

<div>
     @for (int i = 0; i < Model.Bars.Count; i++)
     {
        <div class="col-md-2">
           @Html.HiddenFor(model => model.Bars[i].Value)
           @Html.CheckBoxFor(model => model.Bars[i].Selected) <-- when checked, do postback to the controller with the model
           @Html.ValueFor(model => model.Bars[i].Text)
         </div>
     }
</div>

1 个答案:

答案 0 :(得分:0)

你可以使用这样的ajax调用来执行它:

<script type="text/javascript">
            $(document).ready(function () {
                $('#Id').click(function () {
                    var thisCheck = $(this);
                    if (thisCheck.is(':checked')) {
                $.ajax(
                           '@Url.Action( "ActionName" , "Controller" )',
                            {
                               type: 'post',
                               success: function (result) {
                                 //do something on success: show message or update content
                            }
                        }
                    );
                    }else
{
//also  you can do what you want if unchecked. 
}
                });
            });
        </script>