包含一个带有序列化形式的数组--jquery

时间:2011-08-08 16:24:51

标签: c# jquery asp.net-mvc forms serialization

我目前有一个表单,我正在尝试执行帖子(序列化表单),但我还想包含几个复选框(但我不想将它们包含在表单中)

我尝试过使用jQuery的.post,但无法完成我需要的工作,我们将非常感谢任何帮助。

(我正在使用asp.net MVC 2.0 - 我认为这个事件将附加到按钮点击)

2 个答案:

答案 0 :(得分:1)

有几种方法可以实现这一点,我将为您演示两个,以及一个接受数据的Controller Action示例:

您的控制器操作:

[HttpPost]
public ActionResult YourActionName(YourModel formModel, bool[] checkboxes)
{
   ...
}

.post方法:

//Serialize Form Data
var data = $("#yourForm").serializeArray();

//Iterates through all your checkboxes - with a specific class
$(".yourCheckboxClass").each(function ()
{
    data.push({name : "checkboxes", value : $(this).val()});
});

.ajax方法:

//Build array of checkbox values
//You can use an .each here, or whatever other method you prefer

$.ajax({ type: "POST",
          url: "<%= Url.Action("Action","Controller") %>",
     datatype: "json",
  traditional: true,
         data: {
                  'formModel': $('#yourForm').serialize(),
                 'checkboxes': yourCheckboxArray
               }
});

我希望这能帮助你完成所需的工作。

答案 1 :(得分:0)

这样的事情对你有用吗? (假设按钮是表单上的提交按钮)

$("#triggerButton").bind("click.me", function(e) {
   var $form = $(this).closest("form");
   $(".other-checkbox-class").appendTo($form);
});