【发布时间】:2018-07-20 11:23:04
【问题描述】:
{
"status":"true",
"select":[
{
"view_":"select",
"Type":"MARKET_WORKING",
"Question":"WHICH BRAND COUNTER IS IT?",
"options":[
{
"option":"USPA"
},
{
"option":"HANES"
},
{
"option":"USPA & HANES "
},
{
"option":""
},
{
"option":""
},
{
"option":""
},
{
"option":""
},
{
"option":""
},
{
"option":""
},
{
"option":""
},
{
"option":""
},
{
"option":""
},
{
"option":""
},
{
"option":""
},
{
"option":""
}
]
}
],
"text":[
{
"view_":"select",
"Type":"MARKET_WORKING",
"Question":"WHAT IS THE OPENING STOCK OF INNERWEARS TOP?",
"options":[
{
"option":"VEST"
},
{
"option":"BRA_PADDED"
},
{
"option":"BRA_NON PADDED"
},
{
"option":"CAMISOLE"
},
{
"option":"THERMAL"
},
{
"option":""
},
{
"option":""
},
{
"option":""
},
{
"option":""
},
{
"option":""
},
{
"option":""
},
{
"option":""
},
{
"option":""
},
{
"option":""
},
{
"option":""
}
]
},
{
"view_":"select",
"Type":"MARKET_WORKING",
"Question":"WHAT IS THE OPENING STOCK OF INNERWEARS BOTTOM?",
"options":[
{
"option":"BRIEF"
},
{
"option":"TRUNKS"
},
{
"option":"PANTIES"
},
{
"option":"THERMAL LEGGINGS"
},
{
"option":""
},
{
"option":""
},
{
"option":""
},
{
"option":""
},
{
"option":""
},
{
"option":""
},
{
"option":""
},
{
"option":""
},
{
"option":""
},
{
"option":""
},
{
"option":""
}
]
},
{
"view_":"select",
"Type":"MARKET_WORKING",
"Question":"WHAT IS THE OPENING STOCK OF COMFORTWEARS TOP?",
"options":[
{
"option":"MEN'S T SHIRT"
},
{
"option":"MEN'S TANKS"
},
{
"option":"WOMEN'S T SHIRT"
},
{
"option":"WALL FIXTURE"
},
{
"option":""
},
{
"option":""
},
{
"option":""
},
{
"option":""
},
{
"option":""
},
{
"option":""
},
{
"option":""
},
{
"option":""
},
{
"option":""
},
{
"option":""
},
{
"option":""
}
]
},
{
"view_":"select",
"Type":"MARKET_WORKING",
"Question":"WHAT IS THE OPENING STOCK OF COMFORTWEARS BOTTOM?",
"options":[
{
"option":"BOXER SHORTS"
},
{
"option":"MEN'S SHORTS"
},
{
"option":"MEN'S PANTS"
},
{
"option":"MEN'S SOCKS"
},
{
"option":"WOMEN'S SHORTS"
},
{
"option":"WOMEN'S PANTS"
},
{
"option":"WOMEN'S CAPRI"
},
{
"option":"WOMEN'S SOCKS"
},
{
"option":""
},
{
"option":""
},
{
"option":""
},
{
"option":""
},
{
"option":""
},
{
"option":""
},
{
"option":""
}
]
}
]
}
这是来自api的JSON
我想把所有的问题和选项分别放在循环中。为此我写了下面的代码
if(this.user_type == 1){
this.mwork = this.navParams.get('mwork');
this.selectq = this.mwork.select;
this.selecto = this.selectq[0].options;
//this.selecto = this.selectq.options;
this.textq = this.mwork.text;
this.texto = this.textq[0].options;
console.log(this.selecto);
}
下面是html
div class="field-group" *ngFor="let mworkq of selectq">
<div class="label-cust">{{mworkq.Question}}</div>
<div class="field-cust">
<select [(ngModel)]="selectedOption">
<option value=''>Select</option>
<option *ngFor="let mworkq of selecto" value="{{mworkq.option}}">{{mworkq.option}}</option>
<!-- <option value="{{mworkq.option4}}">{{mworkq.option4}}</option> -->
</select>
</div>
</div>
<div class="field-group" *ngFor="let mworkq of textq">
<div class="label-cust">
{{mworkq.Question}}
<ion-input *ngFor="let mworkq of texto" class="{{mworkq.option}}" type="text" placeholder="{{mworkq.option}}" ></ion-input>
</div>
但是由于[0],现在发生的事情只有第一个选项值出现在所有问题中。那么我怎样才能使它动态地显示与那里的问题相关的选项。请帮忙。谢谢。
对于 Florin,我使用下面的 html 来生成循环
<div class="field-group" *ngFor="let mworkq of textq">
<div class="label-cust">
{{mworkq.Question}}
<ion-input *ngFor="let mworkq of texto" class="{{mworkq.option}}" type="text" placeholder="{{mworkq.option[i]}}" ></ion-input>
</div>
</div>
从此ts
for (const selectItem1 of this.mwork.text){
this.textq = selectItem1.Question;
for (const selectItem2 of this.mwork.text){
this.texto = selectItem2.options;
}
}
【问题讨论】:
-
可以使用
for (cont keys of Object.keys(this.mwork.select)进行迭代。 -
你能解释一下怎么做吗?因为我是后端功能的新手
-
Object.keys(instanceObject)将返回每个对象属性,因此您可以遍历并访问您的 selectq,然后您可以执行相同的操作for (const textKeys of Object.keys(this.mwork.text)访问您所有的 textq -
我用于 Object.keys 我在控制台中得到了 0
-
我正在写一个答案,我没有看到你的选择和文本是一个项目的数组^^
标签: javascript angular ionic3 angular5