Включая массив с формой сериализации - JQuery - PullRequest
2 голосов
/ 08 августа 2011

В настоящее время у меня есть форма, на которой я пытаюсь выполнить публикацию (сериализация формы), однако я также хочу включить несколько флажков (но я не хочу включать их в саму форму)

Я попытался использовать .post в jQuery, но не смог выполнить то, что мне нужно, любая помощь будет принята с благодарностью.

(я использую asp.net MVC 2.0 - и я решил, что это событие будет прикрепленодо нажатия кнопки)

Ответы [ 2 ]

1 голос
/ 08 августа 2011

Есть несколько способов сделать это, я покажу вам два, а также пример действия контроллера для принятия данных:

Действие вашего контроллера:

[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
               }
});

Надеюсь, это поможет вам выполнить то, что вам нужно.

0 голосов
/ 08 августа 2011

Хотелось бы что-нибудь подобное для вас?(при условии, что кнопка является кнопкой отправки в форме)

$("#triggerButton").bind("click.me", function(e) {
   var $form = $(this).closest("form");
   $(".other-checkbox-class").appendTo($form);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...