【问题标题】:How to get selected checkbox values in controller from formcollection?如何从表单集合中获取控制器中选定的复选框值?
【发布时间】: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


【解决方案1】:

你可以像下面这样修改你的选择器

var formCollection = $(':input:not(:checkbox), input:checked');

这将获取所有不是复选框的控件,然后是所有选中的复选框。

【讨论】:

  • 您好,感谢您的回复!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-29
相关资源
最近更新 更多