![](/img/trans.png)
[英]How do I get all values of checkbox those are checked using ajax/jQuery in asp.net mvc
[英]How can i Pass values of checkBox those are checked to controller action in asp.net mvc 3 without using Ajax/JQuery in asp.net Mvc3
我已经使用Ajax post方法做到了,但是我的问题是使用Ajax我们无法下载文件,所以我需要一个不同的想法。以下是我的代码
Asp.net MVC Ajax Post: <script type="text/javascript"> $(document).ready(function () { $('#btn').click(function () { var vals = []; $('input:checkbox[name=Blanks]:checked').each(function () { vals.push($(this).val()); }); $.ajax({ // Check the value. type: 'POST', enctype: 'multipart/form-data', url: '/Home/Extract', // data: { 'name': checkboxData }, data: { 'name': JSON.stringify(vals) }, // contentType: 'application/json; charset=utf-8', // No need to define
contentType成功:功能(结果){
}, error: function (err, result) { alert("Error in delete" + err.responseText); } }); }); return false; }); </script> @foreach (var m in (List<string>)ViewData["list"]) { <ul> <li> <input type="checkbox" class="myCheckbox" name="Blanks" value="@m"/> <img src="@m" alt=""/> </li> } ASp.net MVC controller Section: [AcceptVerbs(HttpVerbs.Post)] public ActionResult Extract(string[] name) { return view(); }
我需要没有Ajax post方法。可以吗?
您有一堆具有相同名称和不同值的复选框。 您可以将它们发布到采用FormCollection的方法中。
public ActionResult Test(FormCollection collection)
{
string results = collection["Blanks"];
}
这将为您提供一个以逗号分隔的值列表(或者为null,其中未选中任何复选框)。
另外,如果您在服务器上将可能的值作为一个数组,则可以根据复选框的数组值来为其指定名称,这意味着您可以执行以下操作:
@using (Html.BeginForm("Test","Home"))
{
@Html.CheckBox("Blanks[0]", false);
@Html.CheckBox("Blanks[1]", false);
@Html.CheckBox("Blanks[2]", false);
<input type="submit" value="Submit" />
}
在您的Test方法中给您一个布尔数组:
public ActionResult Test(bool[] Blanks)
{ }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.