Как сформировать массив из формы по выбору checkbox?
Доброго дня!
Помогите разобраться, не соображу! Есть форма с таблицей(для примера): <form name="test" method="post" action=""> <table > <tbody> <tr> <td > <input type="checkbox" name="ckb[]" value="0"> </td> <td ><p>Заголовок1</p> <input type="hidden" value="заголовок 1" name="data[title][]"> <input type="hidden" value="под заголовок 1" name="data[subtitle][]"> <input type="hidden" value="текст 1" name="data[text][]"> </td> </tr> <tr> <td > <input type="checkbox" name="ckb[]" value="1"> </td> <td ><p>Заголовок1</p> <input type="hidden" value="заголовок 2" name="data[title][]"> <input type="hidden" value="под заголовок 2" name="data[subtitle][]"> <input type="hidden" value="текст 2" name="data[text][]"> </td> </tr> <tr> <td > <input type="checkbox" name="ckb[]" value="2"> </td> <td ><p>Заголовок1</p> <input type="hidden" value="заголовок 3" name="data[title][]"> <input type="hidden" value="под заголовок 3" name="data[subtitle][]"> <input type="hidden" value="текст 3" name="data[text][]"> </td> </tr> {....} </tbody> </table> <input type="submit" value="Отправить"> </form> Как мне получить массив данных из скрытых полей(приходит постом в переменную) изходя из выбранных чекбоксов? Примерно так: Array ( "0" = array ( "title" => "заголовок 1" "subtitle" => "под заголовок 1" ) "3" = array ( "title" => "заголовок 3" "subtitle" => "под заголовок 3" ) ) P.S. Искал но ничего подходящего не нашел или не могу применить Хотя есть пример как его применить? $(".db").live("change", function() { $(this).add($(this).next("label")).add($(this).next().next("br")).remove().insertAfter(".db:last + label + br"); var url = "myurl.php"; var db = $('.db:checked').map(function(i,n) { return $(n).val(); }).get(); //get converts it to an array if(db.length == 0) { db = "none"; } $.post(url, {'db[]': db}, function(response) { $("#dbdisplay").html(response); }); return true; }); Спасибо! |
Цитата:
|
:lol: :D Ну извините забыл там ", ;"
Array ( [0] => Array ( [title] => заголовок 1 [subtitle] => под заголовок 1 ) [3] => Array ( [title] => заголовок 3 [subtitle] => под заголовок 3 ) ) |
Цитата:
Как вариант с формированием объекта... <!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-latest.js"></script> <!-- <link rel="stylesheet" type="text/css" href="tmp.css" /> --> <style type="text/css"> </style> <script type="text/javascript"> function tmp(Obj) { var o={}; var keys=['title','subtitle','text'] $(Obj).find(':checked').each(function (){ var od={}; $(this.parentNode.parentNode).find(':hidden').each(function (i){ od[keys[i]]=this.value; }); o[this.value]=od; }); console.log(o); }; </script> </head> <body> <form name="test" method="post" action="" onsubmit='tmp(this); return false;'> <table > <tbody> <tr> <td > <input type="checkbox" name="ckb[]" value="0"> </td> <td ><p>Заголовок1</p> <input type="hidden" value="заголовок 1" name="data[title][]"> <input type="hidden" value="под заголовок 1" name="data[subtitle][]"> <input type="hidden" value="текст 1" name="data[text][]"> </td> </tr> <tr> <td > <input type="checkbox" name="ckb[]" value="1"> </td> <td ><p>Заголовок1</p> <input type="hidden" value="заголовок 2" name="data[title][]"> <input type="hidden" value="под заголовок 2" name="data[subtitle][]"> <input type="hidden" value="текст 2" name="data[text][]"> </td> </tr> <tr> <td > <input type="checkbox" name="ckb[]" value="2"> </td> <td ><p>Заголовок1</p> <input type="hidden" value="заголовок 3" name="data[title][]"> <input type="hidden" value="под заголовок 3" name="data[subtitle][]"> <input type="hidden" value="текст 3" name="data[text][]"> </td> </tr> </tbody> </table> <input type="submit" value="Отправить"> </form> </body> </html> |
Часовой пояс GMT +3, время: 01:47. |