2015-12-03 4 views
0

У меня есть запись в форме данных json, и я хочу отредактировать эту форму onclick, Я не могу заполнить свои старые данные в форме, чтобы отредактировать ее.Как редактировать опубликованные данные с помощью Angular JS?

<button style="margin:3px;" ng-click="put1(student)" onclick="opendiv();">Edit</button> 

Здесь студент - это массив и opendiv - открыть диалоговое окно модели.

self.put1 = function(student){ 
var studentname = student.name; 
     var studentid = student.id; 
     var studenttype = student.type; 

var data = { studentname : self.newstudent.name, 
studentid = self.newstudent.id , 
studenttype =self.newstudent.type 
} 
$http.put('/rest/student',data) 
    .success(function(data){ 
     alert("updated"); }) 
    .error(function(errResponse) { 
     console.error('Error while fetching notes'); 
}); 
}; 
+1

удалить OnClick и вызвать opendiv() в успехе функции() с возвращаемым данным. – KoIIIeY

ответ

0

Что вы имеете в виду старые данные, когда вы говорите: «Я не в состоянии заполнить мои старые данные» ?!
Если вы ссылаетесь на данные ученика как на старые данные, убедитесь, что вы правильно привязываете данные учащихся к вашим элементам ввода вашей формы, используя директиву ng-model, если вы хотите использовать AngularJS.

Мой совет:

  1. Использование $ сфера или $ директива rootScope, чтобы сохранить данные вашего студента на угловой контроллер, как "$ scope.student".

  2. Используйте нг-модель директивы для отображения списка студентов на представлении как этот

<form name="studentForm"> <input type="text" ng-model="student.name"/> <button ng-click="edit();">Edit</button> </form> .
ng-model = "student.name" покажет вам имя старого ученика, поэтому вы можете его отредактировать.

  1. В угловом контроллере реализована функция edit(). как этот

    $scope.edit = function(){ var data = $scope.student; /*the student's name is automatically updated because of two-way data-binding*/ $http.put('/rest/student',data) .success(function(data){ alert("updated"); }) .error(function(errResponse) { console.error('Error while fetching notes'); }); }