Ich habe eine einfache verschachtelte JSON in meine HTML-Datei eingebettet, die ich einige Daten dynamisch mit Hilfe von Formular einfügen möchte.Angularjs - nicht in der Lage, Kinder Elemente dynamisch zu schieben
Ich kann Daten in die übergeordnete Ebene einfügen, aber nicht in untergeordnete Ebene einfügen. Was mache ich falsch? Hier
ist der Code:
<div class="container" ng-app="myApp" ng-controller="myCtrl">
<label>Enter Data</label>
<input ng-model="name" type="text">
<input ng-model="rollno" type="number">
<input ng-model="id" type="text">
<button ng-click="addData(data)">Enter Data</button>
<table class="table table-bordered">
<tr>
<th>Sr No</th>
<th>Name</th>
<th>Roll No</th>
<th>Subjects</th>
<th>Delete</th>
</tr>
<tr ng-repeat="data in myData">
<td>{{$index+1}}</td>
<td>{{data.name}}</td>
<td>{{data.rollno}}</td>
<td ng-repeat="subject in data.subjects">{{subject.id1}}, {{subject.id2}}</td>
<td><a href="" ng-click="removeData($index)">remove</a></td>
</tr>
</table>
</div>
<script>
var app = angular.module('myApp',[]);
app.controller('myCtrl',function($scope){
$scope.myData =[{"name":"Jon","rollno":123,"subjects":[{"id1":"Maths","id2":"Hindi"}]},{"name":"Ron","rollno":234,"subjects":[{"id1":"English","id2":"Hindi"}]}];
$scope.addData = function(data){
$scope.myData.push({name:$scope.name,rollno:$scope.rollno,id1:$scope.id1});
}
$scope.removeData = function(index){
$scope.myData.splice(index, 1);
}
});
</script>
Was meinst du mit Eltern und Kind Ebene hinzufügen? Sprechen Sie über JSON-Daten? Bitte geben Sie ein Beispiel, wie Sie gerne haben möchten? – forethought
Ich habe diese Daten mit mir - {"name": "Jon", "rollno": 123, "Themen": [{"id1": "Mathe", "id2": "Hindi"}]}, {" name ":" Ron "," rollno ": 234," Themen ": [{" id1 ":" Englisch "," id2 ":" Hindi "}]}. Jetzt möchte ich eine weitere Zeile mit Name als Sharon, RollNo als 345, Id1 als Geschichte hinzufügen. Da sich Id1 und Id2 jedoch in der Child-Ebene befinden, kann ich sie nicht in meine Tabelle einfügen. – user3719049
Sie haben nicht angezeigt, wo die Funktion addData aufgerufen wurde, und "data" wurde nicht verwendet. Wenn Sie jedoch "Subjekte" einfügen möchten, können Sie etwas wie var newSubjects = [{id1: 'History', 'id1': 'English'}]; $ scope.myData.push ({name: 'newData', rollno: 'newRollno', Themen: newSubjects}); – user1111