Формирование массива данных json

r3m1x

Новичок
Имеем:
<div id="tab">
<div class="1"><div class="q">...</div><div class="w">...</div></div>
<div class="1">...</div>
<div class="2">...</div>
<div class="1">...</div>
</div>

Нужно (jquery):
В div#tab из каждого div.1 взять содержимое div.q и div.w. Затем создать массив json типа:
{"response":[{"q":"содержимое","w":"содержимое"},
{"q":"содержимое","w":"содержимое"}]}

Пожалуйста, кто чем может... ))
 

tz-lom

Продвинутый новичок
вам помогут следующие методы:
jQuery(selector)
jQuery(selector,object jQuery)
jQuery.each
jQuery.text
jQuery.html
Array.push
 

r3m1x

Новичок
Спасибо конечно, они то может и помогут... да вот только ваш ответ ничем не помог =)
 

Avron2

Новичок
r3m1x
Задайте вопрос и вам обязательно помогут, а пока что я его не наблюдаю.
 

tz-lom

Продвинутый новичок
Спасибо конечно, они то может и помогут... да вот только ваш ответ ничем не помог =)
а вы ждали что вам код скинут? тогда вы явно не по адресу
прочтите документацию на эти функции и примените минимальные навыки программирования
 

r3m1x

Новичок
Avron2
Окей ) Как в div#tab из каждого div.1 взять содержимое div.q и div.w. Затем создать массив json?
{"response":[{"q":"содержимое","w":"содержимое"},
{"q":"содержимое","w":"содержимое"}]}
 

r3m1x

Новичок
tz-lom
Уж кода я точно не ждал. Но написанная вами масса методов, мне честно говоря ничем не помогла ) Хотя бы понять как их связать в единое целое что ли...
 

Avron2

Новичок
PHP:
$(document).ready(function()    {
 /* выборка  всех элементов div с классом q*/
$("div#tab div.1 div.q").each(function(el)     { /*в цикле перебираются все el - из набора элементов*/
     /*здесь формируете массив значений q */
})

$("div#tab div.1 div.q div.w").each(function(el)     { /*в цикле перебираются все el - из набора элементов*/
     /*здесь формируете массив значений w */
})

/*Здесь из массивов формируете JSON*/
})
Почитайте JQUERY. Хотя бы разберитесь с тем что я Вам написал. Напишите код, который выводит на экран значения q и w.
 

tz-lom

Продвинутый новичок
Avron2
и зачем 2 раза итерироваться по div.1 , если можно один раз и потом делать вытягивать для .q и .w
да и совет где формировать массив тоже не совсем верный ( учитывайте уровень ТС )
посказка ТС:
массив надо объявить до итерации ,а внутри неё просто добавлять значения
 

Avron2

Новичок
tz-lom
Поздно ночью писал, видно мозг уже засыпал.
Может где-то ошибся - исправите.
PHP:
$(document).ready(function()    {
 /* выборка  всех элементов div с классом 1*/
       var qw = new array();
       $("div#tab div.1").each(function()     { 
            qw[] = {'q' : $(this+".q").text()};
            qw[] = {'w' : $(this+".w").text())};
       })
})
 

tz-lom

Продвинутый новичок
PHP:
 qw[] =
это не php , такой синтаксис не работает в принципе , вместо этого вызываем метод push
PHP:
 $(this+".q")
это я вообще не понял что, в this будет элемент из DOM (HTMLDivElement если точнее) , вы его приводите к строке,конкатенируете и...
а ещё вы и в массив криво добавляете
вообщем делается это как то так:
PHP:
$(function(){
  var a = new Array();
  $('#tab div.1').each(function(){
    a.push({q:$('div.q',this).text(),
            w:$('div.w',this).text()});
  });
});
 

r3m1x

Новичок
Только еще последний вопрос :) Можно сделать чтобы each "перебирала" с конца?
 
Сверху