Javascript 无法更新从AngularJs选择的值
我无法更新从AngularJs选择的值 这是我的密码Javascript 无法更新从AngularJs选择的值,javascript,html,angularjs,Javascript,Html,Angularjs,我无法更新从AngularJs选择的值 这是我的密码 <select ng-model="family.grade" > <option ng-repeat="option in options" value='{{option.id}}'>{{option.text}}</option> </select> 这里是mujs代码 $scope.$watch("family_member.date_of_b
<select ng-model="family.grade" >
<option ng-repeat="option in options" value='{{option.id}}'>{{option.text}}</option>
</select>
这里是mujs代码
$scope.$watch("family_member.date_of_birth" ,function(newValue, oldValue){
$scope.family.grade = "1"
})
当“家庭成员”的“出生日期”的值发生更改时,应将“选择”的值设置为1。但此更改在UI上不可见。我认为您正在查找
ng选项的跟踪方式
子句:
<option ng-repeat="option in options track by option.id">{{option.text}}</option>
您应该使用ngSelected来选择该选项
可能是这样的:
<select ng-model="family.grade" >
<option ng-repeat="option in options"
value='{{option.id}}' ng-selected="family.grade==option.id">
{{option.text}}</option>
</select>
{{option.text}
希望这有帮助。选项数组中的各个元素都是对象。因此,相应的ng模型也需要是一个对象。因此,即使在js中对其进行更改,也必须提供相应的对象,而不是字符串。
示例演示:
HTML:
JS:
var app=angular.module('plunker',[])
应用程序控制器('MainCtrl',函数($scope){
我无法从javascript更新它,这是我的主要问题。
$scope.$watch("family_member.date_of_birth" ,function(newValue, oldValue){
$scope.family.grade = { id: "1" }
})
<select ng-model="family.grade" >
<option ng-repeat="option in options"
value='{{option.id}}' ng-selected="family.grade==option.id">
{{option.text}}</option>
</select>
$scope.options = [{text:'Pre-K',id:'Pre-K'},
{text:'K',id:'K'},
{text:'1',id:'1'},
{text:'2',id:'2'},
{text:'3',id:'3'},
{text:'4',id:'4'},
{text:'5',id:'5'},
{text:'6',id:'6'},
{text:'7',id:'7'},
{text:'8',id:'8'},
{text:'+',id:'+'}];
$scope.family = {};
$scope.family_member = {
date_of_birth: '10-Jan-1986'
};
$scope.$watch("family_member.date_of_birth", function(newValue, oldValue) {
$scope.family.grade = $scope.options[2];
});
});