我从控制器获取jsondata并使用ng-repeat填充表
<tr ng-repeat="customer in customerlist">
<td>{{customer.fistname}}</td>
<td>{{customer.lastame}}</td>
<td id="emailid" >{{customer.email}}</td>
<td><a href="#" class="customeropt" id="customeropt" ng-click="editCustomer(customer.email)" >Edit</a></td>
</tr>
从表中获取数据后,我想将数据设置为输入进行编辑 我使用editCustomer(customer.email)
获取数据$scope.editCustomer = function(email){
var edit = this;
$scope.emailid = email;
console.log(email);
return email;
}
如何将数据设置为输入字段或其他html标记。 当我对任何HTML标记使用ng-model和ng-change时,当我点击&#34;编辑&#34;
时,它不会更新<h2 ng-model="changedData" ng-change="changeData()">Email: {{changedData}}</h2>
<input ng-model="changedData" ng-change="changeData()">
ng-change功能:
$scope.changeData = function(){
$scope.changedData;
console.log($scope.changedData);
}
抱歉我的英语不是我的母语。
答案 0 :(得分:0)
试试这个:
HTML:
<tr data-ng-repeat="customer in customerlist">
<td>{{customer.fistname}}</td>
<td>{{customer.lastame}}</td>
<td id="emailid" >{{customer.email}}</td>
<td>
<a href="#" class="customeropt" id="customeropt"
data-ng-click="editCustomer(customer)" >Edit</a>
</td>
</tr>
<h2>Email: {{ customer.email }}</h2>
<input data-ng-model="customer.email">
JS:
$scope.customer =
{
firstname: "",
lastname: "",
email: ""
}
$scope.editCustomer = function(customer){
$scope.customer.firstname = customer.firstname;
$scope.customer.lastname = customer.lastname;
$scope.customer.email = customer.email;
}
让我知道它是怎么回事。
修改强>
以下是它的工作原理:ng-repeat指令为每一行创建一个customer
对象。 ng-click事件传递了该行的customer
对象。在事件处理程序editCustomer
内,为scope variable名称$scope.customer
分配了customer
的属性。使用ng-model directive与$ scope.customer进行双向绑定,以便在值更改时更改范围变量。