Згачения выделенных checkbox
Привет! Прошу помощи с такой проблемой, я вывожу список пользователей из БД, возле каждого пользователя рядом есть checkbox c value=имя пользователя. Теперь мне надо с помощью jquery получить массив value всех выделенных checkbox и передать их в php фаил. Негде не могу найти как это реализовать.
|
function getValues() {
var list = null, res = '';
list = $(':checkbox:checked');
list.each( function(ind) {
res += $(this).val();
if (ind < list.length - 1) res +=','; // например через запятую
});
return res;
}
|
Цитата:
|
В моем примере -да, все - это ж я для примера. А там вы уже как надо вам делайте.
Если например нужные заключены в какой-то <div id="xx"> то можно: list = $(':checkbox:checked', $('#xx')); а лучше list = $('#xx input:checkbox:checked'); Или можно нужные вам классом каким то пометить list = $('.myclass:checkbox:checked'); Смотрите селекторы, там не сложно. |
Спасибо буду смотреть!!!
|
Цитата:
|
Цитата:
|
Да Вы правы просто форму отправить не пойдет, у меня админка сайта на full ajax
|
еще вопросик, негде не могу найти как работает цикл each , никогда до этого с ним не работал.... не подскажите как он устроен?
|
Аякс ради аякса?
vova_b, Вызывает функцию для каждого элемента из набора. У функции два параметра — порядковый номер и элемент DOM, с таковым номером. Второй, впрочем, будет тем же самым, что и this.
$("div").each(
function(i, el){
alert("Я " + i + "-й элемент в наборе и зовут меня " + this.tagName);
}
);
Не перепутатйте $().each() и $.each()! Делают они похожие вещи, но параметры принимают разные. |
Цитата:
|
Накидал скрипт по аналогу выше.... нужно собрать в массив айди всех чекнутых боксов
$('.Restore').click(function () {
var list = null, res = [];
var i = 0;
list = $(':checkbox:checked');
list.each( function() {
res[i] = $(this).attr("id");
i++;
})
return res;
})
как мне теперь res передать в php скрипт !? |
Цитата:
|
Можно пример на аджаксе !?
|
Цитата:
Для примера... http://jquery-docs.ru/Ajax/jQuery.ge...tacallbacktype http://jquery-docs.ru/Ajax/jQuery.po...tacallbacktype |
Написав так
$('.Restore').click(function () {
var list = null, res = [];
var i = 0;
list = $(':checkbox:checked');
list.each( function() {
res[i] = $(this).attr("id").value;
i++;
})
$.post("test.php", { res });
})
А в test.php написав $data = array(); $data = $_POST['res']; в $data получу масив id чекбоксов ? Или что то накосячил !? |
Цитата:
|
$.post("Controller.php", { 'res[]' : res });
Кажись так вернее =) |
Цитата:
|
some0ne, ты про правила формирования УРЛа что-то слышал?
Так вот на основе данных объекта просто сделают тот УРЛ. |
some0ne,
:write:
$.post("test.php", $(':checkbox:checked').serialize());
|
Из книги :
Отсылает массивы данных на сервер (результат операции все еще игнорируется).
$.get("test.php", { 'choices[]': ["Jon", "Susan"]} );
Вот и я
$.post("Controller.php", { 'res[]' : res });
отправляю массив ! Ну или что то не так понял |
Цитата:
|
| Часовой пояс GMT +3, время: 22:48. |