Згачения выделенных 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, время: 16:59. |