Вход

Просмотр полной версии : Собрать все значения и 1 раз отправить


Viper
03.02.2011, 10:44
Собстно есть n-инпутов типа checkbox с value. Нужно пройтись по всем, собрать значение с выбранных и отправить в POST.

Пробую сделать так

$(".gid:ckecked").each(function(){
var val = $(this).val();
ids = {"gid":val};
});
$.post(...);

но отправляется только значение с последнего элемента.

Как правильно собрать все значения и отправить на сервер?

micscr
03.02.2011, 11:00
Во первых: checked
Во вторых: инпуты как у тебя между собой отличаются - именами? Вот и используй их
var ids = {};
$(".gid:checked").each(function(){
ids[this.name] = $(this).val();
});
$.post(...);

Viper
03.02.2011, 11:58
Во первых: checked
Во вторых: инпуты как у тебя между собой отличаются - именами? Вот и используй их
var ids = {};
$(".gid:checked").each(function(){
ids[this.name] = $(this).val();
});
$.post(...);

1. Очепятка вышла
2. name="g_id[]" у всех этих чекбоксов.

micscr
03.02.2011, 12:12
Прежде всего ты не говоришь как обрабатываешь на сервере, но пробуй так:
var ids = [];
$(".gid:checked").each(function(){
ids.push($(this).val());
});
$.post(...{g_id:ids});

Viper
03.02.2011, 13:07
Прежде всего ты не говоришь как обрабатываешь на сервере, но пробуй так:
var ids = [];
$(".gid:checked").each(function(){
ids.push($(this).val());
});
$.post(...{g_id:ids});

Спасибо! То что нужно было. На сервер уходит так же как при нативной отправке формы.