Javascript 将JSON结果转换为动态表
我在用MVC(可变列计数)创建动态表方面花了很多时间。我使用的是json结果,但使用的是jquery.each()迭代器使我的表列自动排序(Chrome)。有办法移动柱子吗?我需要名字和职位作为第一名Javascript 将JSON结果转换为动态表,javascript,jquery,json,dynamic,Javascript,Jquery,Json,Dynamic,我在用MVC(可变列计数)创建动态表方面花了很多时间。我使用的是json结果,但使用的是jquery.each()迭代器使我的表列自动排序(Chrome)。有办法移动柱子吗?我需要名字和职位作为第一名 var data = [{"Name":"Craven Moorehead","Position":"SV-WA-1","601036":"x","600001":"x","600003":"x"},{"Name":"Vinny MCCuzin","Position":"SV-TECH-1",
var data =
[{"Name":"Craven Moorehead","Position":"SV-WA-1","601036":"x","600001":"x","600003":"x"},{"Name":"Vinny MCCuzin","Position":"SV-TECH-1","601036":"x","600001":"x","600003":"x"},{"Name":"Harold Balzonia","Position":"SV-TECH-0","601036":"x","600001":"x","600003":"x"},{"Name":"Phil McCrevic","Position":"PT-PM-1","601036":"x","600001":"x","600003":"x"},{"Name":"Hewenta Jared","Position":"SV-TECH-1","601036":"x","600001":"x","600003":"x"}]
var tablehtml = "<table class='table table-striped table-bordered table-condensed'>";
var header = "<thead><tr>";
var datain = data[0];
$.each(datain, function (key, value) {
header += "<th>" + key + "</th>";
console.log(key);
});
header += "</tr></thead>";
var rowhtml = "<tbody>";
$.each(data, function () {
rowhtml += "<tr>";
$.each(this, function (k, v) {
/// make a row
rowhtml += "<td>";
if (v == "x") {
rowhtml += "<input type='checkbox'/>";
} else {
rowhtml += v;
}
rowhtml+= "</td>";
});
rowhtml += "</tr>"
});
tablehtml += header + rowhtml + "</tbody></table>";
$("#headers").append(tablehtml);
<pre id="output"></pre>
<pre id="headers"></pre>
var数据=
[{“姓名”:“克雷文·穆尔海德”,“职位”:“SV-WA-1”,“601036”:“x”,“600001”:“x”,“600003”:“x”{“姓名”:“文尼·麦库津”,“职位”:“SV-TECH-1”,“601036”:“x”,“600001”:“x”,“600003”:“x”{“姓名”:“哈罗德·巴尔佐尼亚”,“职位”:“SV-TECH-0”,“601036”:“x”,“600001”:“x”,“x”,“600003”:“x”{“姓名”:“Phil-McCrevic”,“职位”:“PT-PM-1”,“601036”:“x”,“600003”:“x”:,{“姓名”:“Hewenta Jared”,“职位”:“SV-TECH-1”,“601036”:“x”,“600001”:“x”,“600003”:“x”}]
var tablehtml=“”;
var header=“”;
var datain=数据[0];
$.each(数据输入,函数(键,值){
标题+=“”+键+“”;
控制台日志(键);
});
标题+=“”;
var rowhtml=“”;
$。每个(数据、函数(){
rowhtml+=“”;
$。每个(此,函数(k,v){
///吵架
rowhtml+=“”;
如果(v=“x”){
rowhtml+=“”;
}否则{
rowhtml+=v;
}
rowhtml+=“”;
});
行HTML+=“”
});
tablehtml+=标题+行HTML+“”;
$(“#标题”).append(tablehtml);
输出如下所示:
创建字段名数组,循环该数组并使用
data[index][field]
作为值。您可以在这些动态列名前面添加空格,以便在排序时名称和位置是第一个值。如果您使用的是JSON数据,我建议您使用datatables jquery插件,这样可以简化您的工作,