$ ('# click_post'). Click (function () {var $ form = $ (this) .closest ('form'); $ .post ($ form.attr ('action'),$ form.serialize (), function (data) {alert ('test');});});
, а также измените имя параметра действия на checkbox
(потому что это то, что вы использоваликак имя для флажков в форме):
public ActionResult PassArray(string[] checkbox) {
...
}
ОБНОВЛЕНИЕ:
или если вы хотите отправить только значенияфлажки и никакие другие элементы ввода формы вам может понадобиться использовать режим traditional
:
$('#click_post').click(function () {
var list = new Array();
$('#container input[type="checkbox"]').each(function () {
list.push($(this).val());
});
var $form = $(this).closest('form');
$.ajax({
url: $form.attr('action'),
type: 'POST',
traditional: true,
data: { value: list },
success: function(result) {
alert('test');
}
});
});
или:
$('#click_post').click(function () {
var list = new Array();
$('#container input[type="checkbox"]').each(function () {
list.push($(this).val());
});
var $form = $(this).closest('form');
$.post($form.attr('action'), $.param({ value: list }, true), function(result) {
alert('test');
});
});
, а затем:
public ActionResult PassArray(string[] value) {
...
}