2017-09-23 50 views
0

我有一个data数组,我想在我的控制器中动态创建$scope变量并分配数组的值。之后在我看来,我想要访问ng-model这些变量,那么名称应该像在控制器中那样动态创建。但我不能得到这些值。如果我写这些ng-model名称静态其工作,但是当我试图连接名称不工作。
如果有人可以帮助我。非常感谢。输入的动态ng模型无法在控制器中访问

在控制器

$scope.data = [ {id:2, Name:'jon'}, {id:3, Name:'XXXXX'}, {id:4,Name:'NNNN'} ]; 
for(var V in $scope.data){ 
    $scope['value'+V. id] = V.Name; 
} 

$scope.update = function(){ 
    for(var V in $scope.data){ 
    console.log($scope['value'+V. id]); 
    } 
} 

在查看

<ul> 
    <li ng-repeat='V in data'> 
     <input type="text" ng-model="value[V.id]"/> 
    </li> 
<ul> 
<button ng-click="update()">update</button> 
+0

你想更新的人的名字? –

+0

这真的是我见过的一种奇怪的绑定! –

+0

是@Kaustubh Khare。我从来不希望在编辑后使用额外的代码从输入字段获取值。我想获取这些'$ scope'变量并将其发送到数据库以进行更新 – sajid

回答

0

试试这一个。然后你可以把更新的对象并发送到数据库。

控制器:

$scope.data = [ {id:2, Name:'jon'}, {id:3, Name:'XXXXX'}, {id:4,Name:'NNNN'} ]; 

HTML:

<ul> 
    <li ng-repeat='V in data'> 
     <input type="text" ng-model="V.Name"/> {{V.Name}} 
    </li> 
<ul> 
<button ng-click="update()">update</button> 
+0

亲爱的@Kaustubh Khare我知道这个代码我可以从数据对象中获取值到输入字段,但之后在控制器中无法访问'$ scope 'ng-model'的变量。 – sajid

+1

@sajid在您从输入字段更改之后,您可以通过'data'变量获取更新值的方式相同。点击后你会得到更新的数据。 –

+0

耶感谢它的完成。非常感谢你 – sajid

相关问题