Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Многомерный массив как вывести данные на страничку (https://javascript.ru/forum/misc/20598-mnogomernyjj-massiv-kak-vyvesti-dannye-na-stranichku.html)

Sadist_dead 10.08.2011 19:12

Многомерный массив как вывести данные на страничку
 
Получаю данные с сервера (json)
в массив data вот такого вида

{"id":"2","Id_school":"350","id_class":"5v"Id_p":"Русский","date":"08\/20\/2011","nomer_yroka":"1"},


,{"id":"2","Id_school":"350","id_class":"5v"Id_p":"математика","date":"08\/20\/2011","nomer_yroka":"2"},

{"id":"2","Id_school":"350","id_class":"5v"Id_p":",Биология","date":"08\/20\/2011","nomer_yroka":"3"},




делаю цикл
for( var i in data ) {
        for( var k in data[ i ] ) {
            $( "#" + k ).append( data[ i ][ k ] );
}}

засовываю переменные на страничку в div элемент по id =Id_p
и в итоге у меня в id_p
падает
Русский
математика
Биология

как мне разграничить вывод, чтобы в три разных дива засовывались значения предметов
(id_p)

melky 10.08.2011 20:22

пиши селекторы через запятую
*!*$(..., ..., ...)*/!*.append( data[ i ][ k ] );

Sadist_dead 10.08.2011 20:25

Цитата:

Сообщение от melky (Сообщение 119591)
пиши селекторы через запятую
*!*$(..., ..., ...)*/!*.append( data[ i ][ k ] );

Селектор то у них один id_p
или я туплю
то есть для каждого аргумента сделать отдельный id и он туда будет по порядку выводить ?

melky 10.08.2011 20:35

неясно.


for( var i in data ) {
        for( var k in data[ i ] ) {
            $( "#" + k ).append( data[ i ][ k ] );
}}



этот цикл будет проходиться по всему массиву и по каждому элементу массива, т.е. по объекту. потом по каждому свойству объекта будет искаться элемент с таким ИД и туда будет вписываться значение текущего поля.

т.е. этот объект
{"id":"2","Id_school":"350","id_class":"5v", "Id_p":"Русский","date":"08\/20\/2011","nomer_yroka":"1"}

будет искать элемент с ИД "id" и вставлять в него "2", искать "Id_school" и вставлять туда "350".. искать "Id_p" и туда вставлять "Русский".

ясно, к чему я клоню? ошибка в написании кода.

Цитата:

Сообщение от Sadist_dead (Сообщение 119587)
засовываю на страничку в div элемент по id = Id_p
и в итоге у меня в id_p
падает
Русский
математика
Биология

так и будет.

Цитата:

как мне разграничить вывод, чтобы в три разных дива засовывались значения предметов
какие три разных дива ? ( html )

Sadist_dead 10.08.2011 20:56

Да ты правильно понял
 
я добился того что у меня в<div id="id_p"></div> падает три значения

Русский
математика
Биология

хорошо,

но я не могу понять как мне сделать правильно выборку из этого массива чтобы
в не выводить все значения в один id_p
а сделать
<div id="хз1" > <div> в этот див падало значение Русский
<div id="хз2" > <div> в этот див падало значение математика
<div id="хз3" > <div> в этот див падало значение биология

ну а совсем фетиш если бы у меня выбиралась если "nomer_yroka":"1" то вставить русский
в див 1
если "nomer_yroka":"2 то вставить математику в див 2"

{"id":"2","Id_school":"350","id_class":"5v"Id_p":"Русский","date":"08\/20\/2011","nomer_yroka":"1"},
 
 
,{"id":"2","Id_school":"350","id_class":"5v"Id_p":"математика","date":"08\/20\/2011","nomer_yroka":"2"},


вот такой страшный объект в первой его части "nomer_yroka":"1" значит в в div 1 надо вывести id_p этого предмета(русский)
во второй части "nomer_yroka":"2 значит в див 2 надо вывести id_p 'этой части и это будет математика" итд

Sadist_dead 10.08.2011 21:17

Есть мысль на то чтобы как то автоматически присваивать вытащенным id значения
встретилась один раз id_p1 второй раз
id_p2 итд. и в них уже выводить наши предметы

melky 10.08.2011 21:51

$.each(data, function(index,a){
        alert("Номер : "+ index+"\n\n Язык : "+ a[ "Id_p"]);       
});

Sadist_dead 10.08.2011 22:13

Спасибо это уже сильно радует
 
Цитата:

Сообщение от melky (Сообщение 119609)
$.each(data, function(index,a){
        alert("Номер : "+ index+"\n\n Язык : "+ a[ "Id_p"]);       
});

Подскажи пожалуйста какие id у моих дивов
0 1 2

melky 10.08.2011 22:15

Цитата:

Сообщение от Sadist_dead (Сообщение 119599)
<div id="хз0" > <div> в этот див падало значение Русский
<div id="хз1" > <div> в этот див падало значение математика
<div id="хз2" > <div> в этот див падало значение биология

$("#хз"+index )...

Sadist_dead 10.08.2011 22:36

Спасибо Огромное
 
success: function(data){
    for( var i in data ) {
        for( var k in data[ i ] ) {
            $( "#" + k ).append( data[ i ][ k ] );
			$.each(data, function(index,a){
    // index -> какой по счету объект в data, a -> data[ index ]
    for(var i in a ) {
        // i -> Id_p, a[ p ] -> qwerty
        if(i === "Id_p"){
			$("#id_p" + index).append(a[i]);
         //  alert("Номер : "+ index+"\n\n Язык : "+ a[i]);
            
        };
    };

все супер к этому иду уже две недели СПАСИБО ОГРОМНОЕ
есть только маленькая мелочь действительно все выводиться по дивом только в повторяется одно и тоже слово 100 раз


Часовой пояс GMT +3, время: 04:30.