Javascript 来自嵌套JSON数据的动态表
试图通过嵌套JSON的迭代来解决问题, 但它需要一些建议。 无法在一行中正确生成和获取多个值的标记。(子表应该是新的th标记。这是我尝试实现的结果示例。) 谢谢你的建议 FICO评分 全部≥ 7600.50%0.375%0.25%0%-0.25% 产品740-759 0.375%0.125%0%-0.375%-0.625%Javascript 来自嵌套JSON数据的动态表,javascript,jquery,json,frontend,Javascript,Jquery,Json,Frontend,试图通过嵌套JSON的迭代来解决问题, 但它需要一些建议。 无法在一行中正确生成和获取多个值的标记。(子表应该是新的th标记。这是我尝试实现的结果示例。) 谢谢你的建议 FICO评分 全部≥ 7600.50%0.375%0.25%0%-0.25% 产品740-759 0.375%0.125%0%-0.375%-0.625% 720-739 0.25%-0.125%-0.375%-0.625%-1.00% 700-719 0.125%-0.375%-0.625%不合格 它们应该是多个。 请看下面我
720-739 0.25%-0.125%-0.375%-0.625%-1.00%
700-719 0.125%-0.375%-0.625%不合格
它们应该是多个。 请看下面我的代码 谢谢你的建议
`var updated = jQuery.parseJSON(localStorage.getItem("tableJson"));
function loop(obj, ul) {
$.each(obj, function(key, val) {
if(val && typeof val === "object") { // object, call recursively
var ul2 = $("<td>").appendTo(
$("<tr>").appendTo(ul)
);
loop(val, ul2);
} else {
$("<td style='background-color: orange; color: white;;'>", {
id: key
}).text(val).appendTo(ul);
}
});
}
var table = $("<table>");
loop(updated, table);
table.addClass("table").appendTo('#data');
} else {
$("<td style='background-color: orange; color: white;'>", {
id: key
}).text(val).appendTo(ul);
}
});
}
var table = $("<table>");
loop(updated, table);
table.addClass("table").appendTo('#data');
`
{
"table": [
{
"subTable": [
{
"line": [
"Fees"
]
},
{
"line": [
"Lender Fee",
"$895"
]
},
{
"line": [
"Tax Service Fee",
"$69"
]
},
{
"line": [
"Flood Certification Fee",
"$12"
]
},
{
"line": [
"Texas Doc Prep Fee",
"$150"
]
}
]
},
{
"subTable": [
{
"line": [
"Max of LTV/CLTV/HCLTV Ratio"
]
},
{
"line": [
"≤ 60",
"60.01-65",
"65.01-70",
"70.01-75",
"75.01-80"
]
}
]
},
{
"subTable": [
{
"line": [
"FICO Score"
]
},
{
"line": [
"All Eligible Products",
"≥ 760",
"0.50%",
"0.375%",
"0.25%",
"0%",
"-0.25%"
]
},
{
"line": [
"All Eligible Products",
"740 - 759",
"0.375%",
"0.125%",
"0%",
"-0.375%",
"-0.625%"
]
},
{
"line": [
"All Eligible Products",
"720 - 739",
"0.25%",
"-0.125%",
"-0.375%",
"-0.625%",
"-1.00%"
]
},
{
"line": [
"All Eligible Products",
"700 - 719",
"0.125%",
"-0.375%",
"-0.625%",
"Not Eligible",
"Not Eligible"
]
}
]
},
{
"subTable": [
{
"line": [
"Loan Amount"
]
},
{
"line": [
"All Eligible Products",
"Up to $1M",
"0.25%",
"0.25%",
"0.125%",
"0%",
"0%"
]
},
{
"line": [
"All Eligible Products",
">$1M Up to $1.5M",
"0.25%",
"0%",
"-0.125%",
"-0.25%",
"-0.375%"
]
},
{
"line": [
"All Eligible Products",
">$1.5M Up to $2M",
"0.125%",
"0%",
"-0.25%",
"-0.375%",
"Not Elig."
]
},
{
"line": [
"All Eligible Products",
">$2M Up to $2.5M",
"0%",
"-0.125%",
"Not Eligible",
"Not Eligible",
"Not Eligible"
]
}
]
},
{
"subTable": [
{
"line": [
"Loan Purpose/Occupancy/Property Type"
]
},
{
"line": [
"All Eligible Products",
"Purchase",
"0.25%",
"0.25%",
"0.25%",
"0.25%",
"0.250%"
]
},
{
"line": [
"All Eligible Products",
"Cash-Out Refinance",
"-0.250%",
"-0.250%",
"-0.250%",
"Not Eligible",
"Not Eligible"
]
},
{
"line": [
"All Eligible Products",
"Second Home",
"-0.125%",
"-0.25%",
"-0.375%",
"-0.75%",
"Not Elig."
]
},
{
"line": [
"All Eligible Products",
"2 Units",
"-0.25%",
"-0.25%",
"Not Eligible",
"Not Eligible",
"Not Eligible"
]
}
]
},
{
"subTable": [
{
"line": [
"Miscellaneous"
]
},
{
"line": [
"BE DTI > 40%",
"BE DTI > 40%",
"-0.625%",
"-0.625%",
"-0.625%",
"-0.625%",
"-0.625%"
]
},
{
"line": [
"Partial/No Impounds",
"All States",
"-0.15%",
"-0.15%",
"-0.15%",
"-0.15%",
"-0.15%"
]
},
{
"line": [
"Subordinate Financing",
"Subordinate Financing",
"-0.25%",
"-0.25%",
"-0.25%",
"-0.25%",
"-0.25%"
]
}
]
},
{
"subTable": [
{
"line": [
"Eligible Broker Incentives"
]
},
{
"line": [
"Tier",
"Super Elite",
"Elite",
"Gold",
"Silver",
"Bronze"
]
},
{
"line": [
"Elite Bonus",
"0.250%",
"0.125%",
"0%",
"0%",
"0%"
]
},
{
"line": [
"Ethos Edge*",
"0.125%",
"0.125%",
"0.125%",
"0%",
"0%"
]
},
{
"line": [
"Purchase Special (Purchase Primary Residence)",
"0.125%",
"0.125%",
"0.125%",
"0.125%",
"0%"
]
}
]
},
{
"subTable": [
{
"line": [
"Max Price (Including All Adjustments)"
]
},
{
"line": [
"Loan Amount",
"≤ $1M",
">$1M"
]
},
{
"line": [
"Fixed 30-Year",
"102.00",
"101.50"
]
},
{
"line": [
"Fixed 15-Year",
"101.50",
"101.25"
]
},
{
"line": [
"5/1 ARM",
"100.85",
"100.75"
]
},
{
"line": [
"7/1 ARM",
"100.85",
"100.75"
]
}
]
}
]
}
var updated=jQuery.parseJSON(localStorage.getItem(“tableJson”);
功能回路(obj、ul){
$。每个(对象、功能(键、值){
如果(val&&typeof val==“object”){//object,则递归调用
变量ul2=$(“”)。附加到(
$(“”)。附录(ul)
);
环路(val,ul2);
}否则{
$("", {
id:钥匙
}).文本(val).附录(ul);
}
});
}
变量表=$(“”);
循环(更新,表格);
table.addClass(“table”).appendTo(“#data”);
}否则{
$("", {
id:钥匙
}).文本(val).附录(ul);
}
});
}
变量表=$(“”);
循环(更新,表格);
table.addClass(“table”).appendTo(“#data”);
`
{
“表格”:[
{
“子表”:[
{
“行”:[
“费用”
]
},
{
“行”:[
“贷款人费用”,
"$895"
]
},
{
“行”:[
“纳税服务费”,
"$69"
]
},
{
“行”:[
“洪水认证费”,
"$12"
]
},
{
“行”:[
“德克萨斯州医生准备费”,
"$150"
]
}
]
},
{
“子表”:[
{
“行”:[
“LTV/CLTV/HCLTV比率的最大值”
]
},
{
“行”:[
"≤ 60",
"60.01-65",
"65.01-70",
"70.01-75",
"75.01-80"
]
}
]
},
{
“子表”:[
{
“行”:[
“FICO分数”
]
},
{
“行”:[
“所有合格产品”,
"≥ 760",
"0.50%",
"0.375%",
"0.25%",
"0%",
"-0.25%"
]
},
{
“行”:[
“所有合格产品”,
"740 - 759",
"0.375%",
"0.125%",
"0%",
"-0.375%",
"-0.625%"
]
},
{
“行”:[
“所有合格产品”,
"720 - 739",
"0.25%",
"-0.125%",
"-0.375%",
"-0.625%",
"-1.00%"
]
},
{
“行”:[
“所有合格产品”,
"700 - 719",
"0.125%",
"-0.375%",
"-0.625%",
“不合格”,
“不合格”
]
}
]
},
{
“子表”:[
{
“行”:[
“贷款金额”
]
},
{
“行”:[
“所有合格产品”,
“高达100万美元”,
"0.25%",
"0.25%",
"0.125%",
"0%",
"0%"
]
},
{
“行”:[
“所有合格产品”,
“>100万美元至150万美元”,
"0.25%",
"0%",
"-0.125%",
"-0.25%",
"-0.375%"
]
},
{
“行”:[
“所有合格产品”,
“>150万美元至200万美元”,
"0.125%",
"0%",
"-0.25%",
"-0.375%",
“不是伊莱格。”
]
},
{
“行”:[
“所有合格产品”,
“>200万美元至250万美元”,
"0%",
"-0.125%",
“不合格”,
“不合格”,
“不合格”
]
}
]
},
{
“子表”:[
{
“行”:[
“贷款用途/占用率/物业类型”
]
},
{
“行”:[
“所有合格产品”,
“购买”,
"0.25%",
"0.25%",
"0.25%",
"0.25%",
"0.250%"
]
},
{
“行”:[
“所有合格产品”,
“套现再融资”,
"-0.250%",
"-0.250%",
"-0.250%",
“不合格”,
“不合格”
]
},
{
“行”:[
“所有合格产品”,
“第二个家”,
"-0.125%",
"-0.25%",
"-0.375%",
"-0.75%",
“不是伊莱格。”
]
},
{
“行”:[
“所有合格产品”,
“2个单位”,
"-0.25%",
"-0.25%",
“不合格”,
“不合格”,
“不合格”
]
}
]
},
{
“子表”:[
{
“行”:[
“杂项”
]
},
{
“行”:[
“DTI大于40%”,
“DTI大于40%”,
"-0.625%",
"-0.625%",
"-0.625%",
"-0.625%",
"-0.625%"
]
},
{
“行”:[