我使用从JSON网址检索到数据的选择表单。当我选择某些内容时,我希望将值放入$scope.afspraak.groep
。由于某种原因,该值将返回原始值为空。
这是我的代码:
<select id="selectgroep" name="selectgroep" class="form-control" size='5' ng-model="afspraak.groep" ng-options="t.id as t.id for t in objecten" ng-click="test()">
</select>
$scope.afspraak = {
groep: '',
};
$scope.passData = function(data) {
$scope.afspraak.groep = data;
}
$scope.test = function() {
console.log($scope.afspraak);
}
我使用了各种方法,例如将ng-click更改为passData(afspraak.groep),但它仍然无法正常工作。奇怪的是,在另一个部分,我有完全相似的代码,并在这里显示工作:
<select id="selectvak" name="selectvak" class="form-control" size='5' ng-model="user.vakid" ng-options="t.id as t.id for t in vak" ng-click="getKlas(user.vakid); test()">
</select>
$scope.user = {
vakid: '',
};
$scope.test = function() {
console.log($scope.user);
}
$scope.getKlas = function (ID){
afsprakenService.getKlassen(ID)
.success(function (klas){
$scope.klas = klas;
$scope.alerts.push({ type: 'success', msg: 'Retrieved'});
})
.error(function (error) {
$scope.alerts.push({ type: 'danger', msg: 'Error retrieving! ' + error.message});
});
};
我在这里做错了什么?我看到的唯一区别是第二个选择形式的方法是getKlas,我传递ng-model以在另一个函数中使用。
编辑:现在已经解决了!事实证明,标签类是导致删除的原因。我意外地删除了它,它现在有用了!
答案 0 :(得分:0)
要从选择中设置模型值,就可以使用ng-model
。如果您想在选择选项时执行一些额外操作,则应使用ng-change
而不是ng-click
。
调试模型的好方法,实时检查是否已更新并查看其值,请执行以下操作
<pre>{{ myModel | json }}</pre>
这是一个工作小提琴示例:http://jsfiddle.net/jub58sem/2/