对象中的值返回为空

时间:2015-12-04 09:24:45

标签: javascript angularjs

我使用从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以在另一个函数中使用。

编辑:现在已经解决了!事实证明,标签类是导致删除的原因。我意外地删除了它,它现在有用了!

1 个答案:

答案 0 :(得分:0)

要从选择中设置模型值,就可以使用ng-model。如果您想在选择选项时执行一些额外操作,则应使用ng-change而不是ng-click

调试模型的好方法,实时检查是否已更新并查看其值,请执行以下操作

<pre>{{ myModel | json }}</pre>

这是一个工作小提琴示例:http://jsfiddle.net/jub58sem/2/