【发布时间】:2013-07-11 10:03:45
【问题描述】:
我通过这样的 ajax 将表单集合对象传递给我的控制器之一。
var formCollection = $(':input');
$.ajax({
url: url,
type: 'POST',
cache: false,
async: true,
data: formCollection,
success: function (result) {
// debugger
if (result.status == true)
document.getElementById('Iframe211').src = "ActivationModal.aspx"
}
})
在控制器中,我正在检索这样的值。
[HttpPost]
public ActionResult Assign(FormCollection form)
{
var ch = form.GetValues("Prints");
}
这里打印的是 webgrid 中定义的复选框字段的名称,
这里的问题是变量 ch 我没有得到被选中的复选框的值,我得到了数组中的所有复选框值,不管它是否被选中。
如何只获取选中的复选框的值?
谢谢
【问题讨论】:
-
那是因为你传递的 formCollection 没有指定复选框是否被选中。我想你想要
var formCollection = $('input:checked') -
但是它会在表单内传递其他值,例如隐藏字段或下拉值
-
我需要传递所有被选中的表单控件和复选框值
标签: jquery ajax asp.net-mvc-3 formcollection