2013-11-15 134 views
4

在某個json文件中,數組中只存在一個對象。但是,該對象具有未知數量的屬性。如何動態設置ng-model與對象屬性對應

[{"red": 14, "green": 12, "orange": 1, "yellow": 11, "blue": 9}] 

此對象被稱爲「項目」。這是我的表格:

<div ng-app="myApp" ng-controller="MainCtrl"> 
<form class="idea item"> 
    <div ng-repeat="(key, value) in items[0]" > 
     <label>{{key}}</label> 
     <input type="range" value="{{value}}" min="0" max="15"/> 
    </div> 
    <input type="submit" ng-click="save()" /> 
</form> 
</div> 

當我點擊提交的形式,然而,發送的數據始終是最初的輸入設置數據:[{"red": 14, "green": 12, "orange": 1, "yellow": 11, "blue": 9}]

舉個例子,如果我將所有輸入到0,我如何得到它發送[{"red": 0, "green": 0, "orange": 0, "yellow": 0, "blue": 0}]

save()功能基本上由以下組成:

$http.put(url, $scope.items); 

回答

4

就像可變密鑰中的JavaScript使用bracket notation在NG-模型作爲member operator

<input type="range" ng-model="items[0][key]" min="0" max="15"/> 

演示:Fiddle

+0

作品,除了'item [0] [key]'應該只是'items [key]',因爲'ng-repeat'已經在items [0]中指定了'(key,value)' – roscioli

+1

@rosciood這是使用的angularjs版本?小提琴似乎工作正常 –

+0

我使用1.1.1,這可能是我的結局的問題,但我只是很高興它的工作原理。你是對的,你提供的jsfiddle確實可以正常工作。謝謝! – roscioli