Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Собрать все значения и 1 раз отправить (https://javascript.ru/forum/jquery/14839-sobrat-vse-znacheniya-i-1-raz-otpravit.html)

Viper 03.02.2011 10:44

Собрать все значения и 1 раз отправить
 
Собстно есть 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

Цитата:

Сообщение от micscr (Сообщение 90915)
Во первых: 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

Цитата:

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

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


Часовой пояс GMT +3, время: 15:04.