Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.11.2013, 11:23
Интересующийся
Отправить личное сообщение для Surlik Посмотреть профиль Найти все сообщения от Surlik
 
Регистрация: 19.02.2012
Сообщений: 19

Как сформировать массив из формы по выбору 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;
});


Спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 08.11.2013, 11:39
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от Surlik Посмотреть сообщение
Как мне получить массив данных из скрытых полей(приходит постом в переменную) изходя из выбранных чекбоксов?
Примерно так:
Array (
 "0" = array (
    "title" => "заголовок 1"
    "subtitle" => "под заголовок 1"
)
 "3" = array (
    "title" => "заголовок 3"
    "subtitle" => "под заголовок 3"
)
 
)
Это "массив"?
Ответить с цитированием
  #3 (permalink)  
Старый 08.11.2013, 11:50
Интересующийся
Отправить личное сообщение для Surlik Посмотреть профиль Найти все сообщения от Surlik
 
Регистрация: 19.02.2012
Сообщений: 19

Ну извините забыл там ", ;"
Array
(
    [0] => Array
        (
            [title] => заголовок 1
            [subtitle] => под заголовок 1
        )

    [3] => Array
        (
            [title] => заголовок 3
            [subtitle] => под заголовок 3
        )

)
Ответить с цитированием
  #4 (permalink)  
Старый 08.11.2013, 11:53
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от Surlik
Ну извините забыл там ", ;"
То, что ты привел как "образец" вообще ни чем не является, с точки зрения JS...

Как вариант с формированием объекта...

<!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>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как добавить кнопки к каждому полю формы SaltoMortale ExtJS 2 07.08.2012 12:22
Как заблокировать checkbox кроме выделенных YCsys Events/DOM/Window 5 06.06.2012 17:34
Как достучаться до всех элементов формы ganzalik228 Events/DOM/Window 4 26.05.2012 18:10
Как обрабатывать поля формы с одинаковыми названиями? javascript_pupil Общие вопросы Javascript 3 11.04.2012 21:25
Как сделать реакцию на изменение любого элемента формы. Mik Events/DOM/Window 3 28.07.2011 08:52