When I try to add the Children to Json
Object
i am getting an issue :
TypeError: ctrl.otsact.tests.push is not a function
Script :
function addOTSACT() {
var data = {
'date': '',
'subjects': angular.copy(ctrl.otsactSubjectsCopy)
}
$('.dateField').datepicker({
changeMonth: true,
changeYear: true
});
ctrl.otsact.tests.push({});
}
Json Object :
{
"ACT":{
"name":"ACT",
"tests":{
"73":{
"id":73,
"official_test_id":1,
"student_id":165888,
"test_date":"2017-05-12",
"score":"0.0",
"created_at":"2017-05-23 13:50:40",
"created_by_id":2766,
"updated_at":"2017-05-23 13:50:40",
"updated_by_id":2766,
"subjects":[
{
"id":1,
"official_test_id":1,
"student_id":165888,
"official_test_subject_id":1,
"score":1,
"student_score_id":73,
"name":"English",
"is_consider":1
},
{
"id":2,
"official_test_id":1,
"student_id":165888,
"official_test_subject_id":2,
"score":1,
"student_score_id":73,
"name":"Math",
"is_consider":1
},
{
"id":3,
"official_test_id":1,
"student_id":165888,
"official_test_subject_id":3,
"score":1,
"student_score_id":73,
"name":"Reading",
"is_consider":1
},
{
"id":4,
"official_test_id":1,
"student_id":165888,
"official_test_subject_id":4,
"score":1,
"student_score_id":73,
"name":"Science",
"is_consider":1
},
{
"id":5,
"official_test_id":1,
"student_id":165888,
"official_test_subject_id":5,
"score":1,
"student_score_id":73,
"name":"Writing",
"is_consider":0
}
]
},
"74":{
"id":74,
"official_test_id":1,
"student_id":165888,
"test_date":"2017-05-12",
"score":"0.0",
"created_at":"2017-05-23 13:50:40",
"created_by_id":2766,
"updated_at":"2017-05-23 13:50:40",
"updated_by_id":2766,
"subjects":[
{
"id":1,
"official_test_id":1,
"student_id":165888,
"official_test_subject_id":1,
"score":2,
"student_score_id":74,
"name":"English",
"is_consider":1
},
{
"id":2,
"official_test_id":1,
"student_id":165888,
"official_test_subject_id":2,
"score":2,
"student_score_id":74,
"name":"Math",
"is_consider":1
},
{
"id":3,
"official_test_id":1,
"student_id":165888,
"official_test_subject_id":3,
"score":2,
"student_score_id":74,
"name":"Reading",
"is_consider":1
},
{
"id":4,
"official_test_id":1,
"student_id":165888,
"official_test_subject_id":4,
"score":2,
"student_score_id":74,
"name":"Science",
"is_consider":1
},
{
"id":5,
"official_test_id":1,
"student_id":165888,
"official_test_subject_id":5,
"score":2,
"student_score_id":74,
"name":"Writing",
"is_consider":0
}
]
}
}
}
}
i want to add 75 children to test children
In your JSON tests is not an array but an object, and you cannot push to an object. So this line is wrong:
ctrl.otsact.tests.push({});
You have to change it to:
ctrl.otsact.tests[MYNEWID] = MYNEWOBJECT;