2015-10-30 50 views
1

我下面的表格有填入输入框angularJs

<table> 
     <tr> 
      <td>Id</td> 
      <td>Name</td> 
      <td>Lastname</td> 
      <td>Delete</td> 
     </tr> 
     <tr ng-repeat="p in ListPeople"> 
      <td>{{p.id}}</td> 
      <td>{{p.name}}</td> 
      <td>{{p.lastname}}</td> 
      <td> 
       <button ng-click="deletePerson(p)">Delete</button> 
      </td> 
      <td> 
       <button ng-click="editPerson(p)">Edit</button> 
      </td> 
     </tr> 
    </table> 

当用户点击编辑的人,我称它通过在人对象该行的功能,那么我想填充这三个额外的输入字段如下所示:作为跟随

 <input ng-model="person.id"/><br/> 
    <input ng-model="person.name" /><br /> 
    <input ng-model="person.lastname" /><br /> 

我的功能:

$scope.editPerson = function (person) { 

    console.log(person); 

    $scope.person.id = person[0].id; 
    $scope.person.name = person[1].name; 
    $scope.person.lastname = person[2].lastname; 
}; 

然而,我在控制台中的对象,但我抛出一个错误是:

Error: person[0] is undefined 

然后我把它改成如下:

$scope.person.id = person.id; 
    $scope.person.name = person.name; 
    $scope.person.lastname = person.lastname; 

并获得 错误:$ scope.person是未定义

回答

6

试试这个:

$scope.person = {}; 

$scope.person.id = person.id; 
$scope.person.name = person.name; 
$scope.person.lastname = person.lastname; 
+0

谢谢,它的工作。将很快标记为答案。 –