我正在尝试使用jQuery的$.getJSON
方法从数据库中检索一些数据以显示在表中,但对于每个获得信息的用户,我必须获得与该用户相关的许多相关系统,需要在第一个嵌套的第二个$.getJSON
调用,我尝试将其转换为函数,这似乎正在工作,但我不确定如何将系统数据附加到td一旦它循环通过所有的系统,这是代码......
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>')
});
}
});
});
我认为代码是非常自我解释的,如果还有其他任何你想知道的话,请给我一个大喊大叫。
提前Thanx!
答案 0 :(得分:0)
您应该对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);
});
});
};