Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 06.05.2014, 21:08
Аспирант
Отправить личное сообщение для kowapos Посмотреть профиль Найти все сообщения от kowapos
 
Регистрация: 25.03.2014
Сообщений: 36

вот у меня короче такой код
$.ajax({ // аяксим
            type: 'POST',
            url: '/ajax/loadTreeAjax.php',
            dataType: 'json',
            data: {accept:1},
            success: function(data){
              
              //console.log(data.projects);
                $.each(data.projects, function (key) {
                    
                  newElement = '<div class="elementList" id = "project' + data.projects[key].id_project + '"><div class="ObjectTitle"><span class="glyphicon glyphicon-folder-open"></span> ' + data.projects[key].name + '</div><div class="dropdown objMenu"><a data-toggle="dropdown"><span class="tools glyphicon glyphicon-cog"></span></a><ul class="dropdown-menu" role="menu" aria-labelledby="dLabel"><li><a href="javascript:;">Совместный доступ</a></li><li><a href="javascript:;">Маркер</a></li><li><a href="javascript:;">Добавить в "Избранное"</a></li><li><a href="javascript:;">Информация</a></li></ul></div></div>';

                  blockProjects.children('.TitleBlock').after(newElement);



                }); // each

            } // success
  });


и если после этого цикла посчитать количество .elementList то выдаст 0, хотя на странице то что я вставил нормально отображается
Ответить с цитированием
  #12 (permalink)  
Старый 06.05.2014, 21:12
Аспирант
Отправить личное сообщение для kowapos Посмотреть профиль Найти все сообщения от kowapos
 
Регистрация: 25.03.2014
Сообщений: 36

вообщем, я понял, у меня почему то сначала считает элементы, а потом в цикле добавляет, и из за этого 0 получается. как мне посчитать после ajax запроса?
Ответить с цитированием
  #13 (permalink)  
Старый 06.05.2014, 21:16
Аспирант
Отправить личное сообщение для kowapos Посмотреть профиль Найти все сообщения от kowapos
 
Регистрация: 25.03.2014
Сообщений: 36

все, спасибо. помог метод done() после ajax
Ответить с цитированием
  #14 (permalink)  
Старый 06.05.2014, 21:27
Аспирант
Отправить личное сообщение для M-ka Посмотреть профиль Найти все сообщения от M-ka
 
Регистрация: 25.04.2014
Сообщений: 47

kowapos,
после цикла, который запущен в аяксе нет ф-ии, которая считает, по коду ранее, считалка запускается куда ранее, нежели отработает аякс...
Потому ф-ю считалку ставте на вызов из ответа аякса после each

$.ajax({ // аяксим
            type: 'POST',
            url: '/ajax/loadTreeAjax.php',
            dataType: 'json',
            data: {accept:1},
            success: function(data){
              
              //console.log(data.projects);
                $.each(data.projects, function (key) {
                    
                  newElement = '<div class="elementList" id = "project' + data.projects[key].id_project + '"><div class="ObjectTitle"><span class="glyphicon glyphicon-folder-open"></span> ' + data.projects[key].name + '</div><div class="dropdown objMenu"><a data-toggle="dropdown"><span class="tools glyphicon glyphicon-cog"></span></a><ul class="dropdown-menu" role="menu" aria-labelledby="dLabel"><li><a href="javascript:;">Совместный доступ</a></li><li><a href="javascript:;">Маркер</a></li><li><a href="javascript:;">Добавить в "Избранное"</a></li><li><a href="javascript:;">Информация</a></li></ul></div></div>';

                  blockProjects.children('.TitleBlock').after(newElement);



                }); // each
                 //теперь после добавления контента, надо посчитать... для этого сделаем какую то yourFunction(){} на стороне...
                 yourFunction(); //будет находиться где то и содержать alert($('.elementList').size()); 
                 //Ну можно и сразу сделать вызов алерта, но все же это лучше вынести с обработки ответа, 
                 //так же и сам ответ передать во внешнюю ф-ю для обработки
            } // success
  });

Последний раз редактировалось M-ka, 06.05.2014 в 21:33.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема! Добавление элементов с помощью append() и работа с ними Gurchava jQuery 3 14.04.2014 17:09
маленький вопросик по методу .on() Altai jQuery 3 11.04.2014 19:23
append в append NeVirus Элементы интерфейса 1 05.08.2013 06:34