将ajax数据val分配给表头
在我的ajax调用中,我想将每个key
作为<td>
分配给$('#shelf .table thead tr')
中的单个行。这是我尝试失败的原因。将ajax数据val分配给表头
AJAX:
function ajax_call($aff){
$.ajax({
url: 'fill_crosstab.php',
data: {action:$aff},
dataType: 'json',
success: function(data){
$('#shelf .table tbody').empty();
$('#shelf .table thead tr').empty();
for (var i = 0; i < key.length; i++) {
out += "<td>" + key[i] + "</td>";
}
$('#shelf .table thead tr').append(out + "</tr>");
if ($aff == "database") {
$.each(data, function(key, val) {
$('.dropdown-menu').append("<a class='dropdown-item' href='#'>" + val.Affiliation + "</a>");
});
// Bind the event now, after the html element has bend created.
$(".dropdown-menu a").on("click", function() {
var selText = $(this).text();
$('.shelf-header').empty();
$('.shelf-header').append(selText);
ajax_call(selText);
});
} else {
$.each(data, function(key, val) {
$('#shelf .table tbody').append("<tr><td>" + val.LAST + "</td><td>" + val.FIRST + "</td><td>" + val.MDC + "</td><td>" + val.RADIO + "</td><td>" + val.eMEDS + "</td><td>" + val.FireApp + "</td><td>" + val.P1 + "</td></tr>");
});
}
}
});
};
JSON数据:
[{"LAST":"JONE","FIRST":"MARY","MDC":"07\/23\/2003","RADIO":"08\/22\/2002","eMEDS":"02\/09\/2015","FireApp":"09\/11\/2012","P1":" "}]
如果您需要在for循环创建表的标题,提取数据的密钥,则需要使用第一排。
您还应该保留该行的键以确保其他行排列在相同的列中。我注意到你使用“。”将这些属性作为片段底部的else子句中的属性。
开始通过获得这些密钥 - 把这个接近成功处理程序的顶部:
var keys = Object.keys(data[0]);
现在你可以遍历它创建您的第一行(把这个在THEAD部分):
for (var i = 0; i < keys.length; i++) {
out += "<td>" + keys[i] + "</td>";
}
在其他部分,tbody中,您可以这样做以确保其匹配。该键上方变量,以相同的顺序,并使用该密钥有此引用来查找值项:
$.each(data, function(_k, val) {
var out = "<tr>";
for(var i =0; i< keys.length; i++) {
out += "<td>" + val[keys[i]] + "</td>";
}
out += "</tr>";
$('#shelf .table tbody').append(out);
});
在这个片段在这里 - 在“_K”是行号,我已经用一个下划线作为前缀,使读者明白我们对它不感兴趣。
所以我把'VAR键= Object.keys(数据[0]);'我看你是引用'键'和'键'这是正确的? – BarclayVision
我已经编辑了答案。 “key”已经变成了“_k” - 因为它是那些被它忽略的东西。我还说过要把第一部分放在哪里。 –
这给了我'LAST','FIRST'等的价值......不是名字'LAST'' FIRST'等 – BarclayVision
您能否提供一些示例数据,并且可以更具体地了解它如何不起作用? –
添加了JSON数据 - 我正在寻找LAST,FIRST,MDC等...作为我桌子的标题行。 – BarclayVision
定义第一个for循环的键是哪里?我看不到这是什么。 –