如何动态设置ng-model以对应对象属性

时间:2013-11-15 02:28:13

标签: html json angularjs

在某个json文件中,只有一个对象将存在于数组中。但是,此对象具有未知数量的属性。

[{"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);

1 个答案:

答案 0 :(得分:4)

就像javascript中的变量键一样,使用ng-model中的bracket notation作为member operator

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

演示:Fiddle