Jquery 从AJAX应答查询创建动态表

Jquery 从AJAX应答查询创建动态表,jquery,ajax,html-table,Jquery,Ajax,Html Table,我有以下代码: var htmlname=''; var names = result.names $.each(names, function( i, name){ htmlname = "<td>" + name + "</td>"; $('#adminall tr:last').html(htmlname);

我有以下代码:

            var htmlname='';
            var names = result.names
            $.each(names, function( i, name){

               htmlname = "<td>" + name + "</td>";

               $('#adminall tr:last').html(htmlname);

                var row = document.createElement('tr');
                var tableCurrentPoints = document.getElementById("adminall"); // find table to append to
                tableCurrentPoints.appendChild(row); // append row to table


            });


            var htmlemail='';
            var emails = result.emails
            $.each(emails, function( ii, email){

               htmlemail = "<td>" + email + "</td>";

               $('#adminall tr:last').html(htmlemail);

                var row = document.createElement('tr');
                var tableCurrentPoints = document.getElementById("adminall"); // find table to append to
                tableCurrentPoints.appendChild(row); // append row to table


            });
var htmlname='';
var names=result.names
$.each(名称、函数(i、名称){
htmlname=“”+名称+”;
$('#adminall tr:last').html(htmlname);
var行=document.createElement('tr');
var tableCurrentPoints=document.getElementById(“adminall”);//查找要附加到的表
tableCurrentPoints.appendChild(行);//将行追加到表中
});
var htmlemail='';
var emails=result.emails
美元。每个(电子邮件,功能(二,电子邮件){
htmlemail=“”+电子邮件+”;
$('#adminall tr:last').html(htmlemail);
var行=document.createElement('tr');
var tableCurrentPoints=document.getElementById(“adminall”);//查找要附加到的表
tableCurrentPoints.appendChild(行);//将行追加到表中
});
然后是其附加的表格:

        <table id="adminall" style="margin:10px 0px 0px 0px;" width="100%" border="0" cellpadding="0" cellspacing="0">
        <tr id="adminallheader">

        </tr>
        <tr></tr>

    </table>

这来自AJAX请求中的成功处理程序。我试图创建一个包含查询数据的表,我猜它应该像我在这里尝试的那样用Javascript创建,但是我无法让它工作。目前,它将所有数据(姓名和电子邮件)放在一列中,但需要将其拆分为两列


有什么想法吗?

你应该做如下事情

       var names = result.names
       $.each(names, function( i, name){
           //get the corrsponding email
           var email = result.emails[i];
           var htmlname = "<td>" + name + "</td><td>"+email"</td>";

           $('#adminall tr:last').append(htmlname);

            var row = document.createElement('tr');
            var tableCurrentPoints = document.getElementById("adminall"); // find table to append to
            tableCurrentPoints.appendChild(row); // append row to table


        });
var names=result.names
$.each(名称、函数(i、名称){
//获取相应的电子邮件
var email=result.email[i];
var htmlname=“”+姓名+“+电子邮件”;
$('#adminall tr:last').append(htmlname);
var行=document.createElement('tr');
var tableCurrentPoints=document.getElementById(“adminall”);//查找要附加到的表
tableCurrentPoints.appendChild(行);//将行追加到表中
});

只循环一次,而不是两次。

因为他在使用jQuery,我建议替换那些document.createElement和document.getElementById调用。@Meryovi不,我留下了这些调用,因为它们的开销比使用jQuery函数(最终会调用这些函数)要少。好的,谢谢@NicolaPeluchetti!!我唯一关心的是。。。我设计它的方式是,用户勾选他们希望在查询中接收的列的复选框。后端stuf已经完成,但是上面显示的方式依赖于用户勾选names复选框。我正在考虑通过JSON传递一个单独的值,它是一个mysql_num_rows值,用于迭代循环。你觉得这样行吗?然后在循环中使用IF语句来确定是否显示列标题/值。。。