jQuery вложенный $ .getJSON не работает - PullRequest
0 голосов
/ 19 октября 2010

Я пытаюсь получить некоторые данные из базы данных, используя метод $.getJSON jQuery для отображения в таблице, но для каждого пользователя, чью информацию я получаю, мне нужно получить много связанных систем, связанных с этим пользователем, для чего требуетсяВторой $.getJSON вызов, вложенный в первый, который я пытался превратить в функцию, которая, кажется, работает, но я не уверен, как добавить системные данные в тд, как только они пройдут по всем системам, воткод ...

jQuery:

function systems(id){
//here I try to get the bunch of suppliers and loop through them so that all of them display in the one <td>
    $.getJSON("get_systems.php", {uid:id}, function(data){

       $.each(data, function(i, json){
            return json.supplier_id;
        });

    });
};

//on submit get the province and city values, send it to the search_results.php file to get the users, then call the systems() function to display each users systems
$('#submit').click(function(){
    var province_val = $('[data-custom="province"]').val();
    var city_val = $('[data-custom="city"]').val();

    $.getJSON('search_results.php', { province: province_val, city: city_val }, function(data){

        var check = $(data).size();

        if(check == 0){
            alert("No entries were found");
        }else{
            $('#table').html('');
            $.each(data, function(i, json){
                $('#table').append('<tr><td>'+json.company_name+'</td><td>'+json.contact_number+'</td><td>'+json.email_address+'</td><td>'+systems(json.id)+'</td></tr>')                     
            });
        }
    });
});

Я думаю, что код довольно понятен, если есть что-то, что вы хотели бы узнать, пожалуйста, дайте мне крик.

Спасибо заранее!

1 Ответ

0 голосов
/ 19 октября 2010

Вы должны использовать атрибут id для элементов td, который будет содержать результаты второго вызова, и нацеливать их на это ..

, поэтому первое заполнение должно быть

$.each(data, function(i, json){
                $('#table').append('<tr><td>'+json.company_name+'</td><td>'+json.contact_number+'</td><td>'+json.email_address+'</td><td id="system_'+i+'"></td></tr>');
                systems('system_'+i, json.id);                
            });

и ваша системная функция

function systems(dom_id, id){
//here I try to get the bunch of suppliers and loop through them so that all of them display in the one <td>
    $.getJSON("get_systems.php", {uid:id}, function(data){

       $.each(data, function(i, json){
            $('#'+dom_id).append(json.supplier_id);
        });

    });
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...