我编写了如下代码,
<div ng-repeat="rnewobj in rnewobjs">
<select name="abc"
ng-model="rnewobj.objkey.value"
ng-options="item.id as item.name for item in session_dd"
ng-change="valuechanged()" required>
</select>
如何在变化时获得模型值。我想从控制器更改模型值。我该怎么做?
答案 0 :(得分:1)
以下是您的要求示例,设置值并在更改后打印(我只使用了一个按钮,但您可以做任何事情):
http://jsfiddle.net/U3pVM/19572/
<强> HTML 强>
<div ng-repeat="rnewobj in rnewobjs">
<select
name="abc"
ng-model="rnewobj.objkey.value"
ng-options="item.id as item.name for item in session_dd"
ng-change="valuechanged(rnewobj)" required>
</select>
<button type="button" ng-click="reset(rnewobj)">Reset to item 1</button>
</div>
<强>的Javascript 强>
$scope.session_dd = [{
id: 1,
name: "item1"
}, {
id: 2,
name: "item2"
}, {
id: 3,
name: "item3"
}];
$scope.rnewobjs = [{
objkey: {
value: 1
}
}, {
objkey: {
value: 2
}
}, {
objkey: {
value: 3
}
}];
// print the value when changed
$scope.valuechanged = function (item) {
console.log(item.objkey.value);
};
// set the value
$scope.reset = function (item) {
item.objkey.value = 1; // reset to 1
};
答案 1 :(得分:0)
您需要实现观察者功能。
$scope.$watch('rnewobj.objkey.value', function(data) {
console.log(data);
});
该值存储在数据变量中。
答案 2 :(得分:0)
使用同名的$scope
个变量。它依赖于Angular的双向数据绑定。
假设您要编辑阵列上的对象索引2:
app.controller('MyController', function ($scope) {
var index = 2;
$scope.rnewobjs[index].objkey.value = 'YourValue';
});
您的视图会自动更改该值。