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语句来确定是否显示列标题/值。。。