【发布时间】:2018-07-16 23:14:31
【问题描述】:
我需要从包含州和城市地址的 JSON 对象创建一个列表。
JSON 对象如下所示:
atm = {estados": [
{
"txNome": "TOCANTINS",
"listaCidades": [
{
"txNome": "PALMAS",
"listaEnderecos": [
"AVENIDA JUSCELINO KUBITSCHEK. <br> Número: 0. <br> Bairro: PLANO DIRETOR NORTE. <br> CEP: 77.001-080.",
"AV 107 NORTE AVEN JUSCELINO KUBITSCHEK. <br> Bairro: PLANO DIRETOR NORTE. <br> CEP: 77.001-080."
]
}
]
},
{
"txNome": "MARANHAO",
"listaCidades": [
{
"txNome": "SANTA INES",
"listaEnderecos": [
"AVENIDA CASTELO BRANCO. <br> Número: 2790. <br> Bairro: LARANJEIRAS. <br> CEP: 65.300-000.",
"ROD BR 316 KM 258. <br> Número: 32. <br> Bairro: CANAA. <br> CEP: 65.300-000.",
"AV CASTELO BRANCO. <br> Número: 2790. <br> Bairro: LARANJEIRAS. <br> CEP: 65.300-000."
]
}
按照这个JSFiddle我做了这个
var atms = <?php echo $scriptListaAtm ?>;
ul = $('<div class="container">');
for (var i = 0; i < atms.estados.length; i++) {
var li = $('<h1>').text(atms.estados[i].txNome);
var ul_cidade = $('<div class="col-md-4 botmargin">');
for (var j = 0; j < atms.estados[i].listaCidades.length; j++) {
var cidade = $('<h4>').text(atms.estados[i].listaCidades[j].txNome);
var ul_endereco = $('<div>');
for (var k = 0; k < atms.estados[i].listaCidades[j].listaEnderecos.length; k++) {
$('<p>'+atms.estados[i].listaCidades[j].listaEnderecos[k]).appendTo(ul_endereco);
}
cidade.append(ul_endereco);
ul_cidade.append(cidade);
}
li.after(ul_cidade);
li.appendTo(ul);
}
ul.appendTo(locaisatendimento);
使用li.after(ul_cidade) 不起作用,我只能得到州名,但如果我使用li.append(ul_cidade) 它确实有效,但我得到了错误的结构。
谁能告诉我我做错了什么?
【问题讨论】:
-
atm = [estados": [- 从那里开始,这是无效的。我猜你的意思是:atm = {estados": [ -
是的,很抱歉
标签: jquery json for-loop append