monthA JSON =
[
{
"1": [
{
"monthNumber": "1",
"monthName": "January"
}
],
"2": [
{
"monthNumber": "2",
"monthName": "February"
}
],
"3": [
{
"monthNumber": "3",
"monthName": "March"
}
],
"4": "April",
"5": [
{
"monthNumber": "5",
"monthName": "May"
}
],
"6": [
{
"monthNumber": "6",
"monthName": "June"
}
],
"7": [
{
"monthNumber": "7",
"monthName": "July"
}
],
"8": [
{
"monthNumber": "8",
"monthName": "August"
}
],
"9": [
{
"monthNumber": "9",
"monthName": "Septemeber"
}
],
"10": [
{
"monthNumber": "10",
"monthName": "October"
}
],
"11": [
{
"monthNumber": "11",
"monthName": "November"
}
],
"12": [
{
"monthNumber": "12",
"monthName": "December"
}
]
}
]
HTML:
<td ng-repeat="ap in monthA" style="width:100px;" align="center">
<select onchange="modifiyOtherDropDowns(this);removeErrorMessagesOfAllLowerDivsUsingObj(this)"
ng-model="A_months_model_$index"
ng-options="value.monthName as value.monthName for (key , value) in ap">
<option value=""></option>
</select>
</td>
我正在访问JSON monthA
,其中可以有多个元素。对于每个元素,我都有一个键值对。对于每个值,我有另一个JSON,我想访问它的属性。我尝试使用上面编写的代码。但下拉显示空白。
我在哪里做错了?
答案 0 :(得分:1)
for (i = 0; i < arr.length; i++) {
var obj1=arr[i];
for (var prop in obj1)
{
var optgroup=$("<optgroup label="+prop+"></optgroup>");
var propArr=obj1[prop];
var options = '';
for (var j = 0; j < propArr.length; j++) {
var obj2=propArr[j];
for (var prop2 in obj2)
{
options += '<option value="' + prop2 + '">' + obj2[prop2] + '</option>';
}
optgroup.append(options);
}
$("select#obj").append(optgroup);
}
}
答案 1 :(得分:1)
$(document).ready(function(){
var arr= [
{
"1": [
{
"monthNumber": "1",
"monthName": "January"
}
],
"2": [
{
"monthNumber": "2",
"monthName": "February"
}
],
"3": [
{
"monthNumber": "3",
"monthName": "March"
}
],
"4": "April",
"5": [
{
"monthNumber": "5",
"monthName": "May"
}
],
"6": [
{
"monthNumber": "6",
"monthName": "June"
}
],
"7": [
{
"monthNumber": "7",
"monthName": "July"
}
],
"8": [
{
"monthNumber": "8",
"monthName": "August"
}
],
"9": [
{
"monthNumber": "9",
"monthName": "Septemeber"
}
],
"10": [
{
"monthNumber": "10",
"monthName": "October"
}
],
"11": [
{
"monthNumber": "11",
"monthName": "November"
}
],
"12": [
{
"monthNumber": "12",
"monthName": "December"
}
]
}
];
for (i = 0; i < arr.length; i++) {
var obj1=arr[i];
for (var prop in obj1)
{
var options = '';
var propArr=obj1[prop];
if(propArr[0].monthNumber != undefined){
var obj2=propArr[0];
options += '<option value="' + obj2.monthNumber+ '">' +obj2.monthName + '</option>';
}else{
options += '<option value="' + prop+ '">' +propArr + '</option>';
}
$("select#obj").append(options);
}
}
});
</script>