如何从ng-options中的作用域更改ng-model值

时间:2019-03-29 10:11:19

标签: javascript angularjs ng-options

当我按下按钮(更改选择下拉列表的ng-options)时,我试图设置默认的ng-model值。我正确设置了ng-model的值,并且模型显示它的值已更改,但是select并没有设置所选的ng-model的值。

这是我的HTML,我尝试使用track by,将其删除...

<select ng-model="selectMomentoEdit"
        ng-options="x.nombre for x in momentsList track by x.idMomento"
        name="select" id="selectMomentoEdit" class="form-control">
    <option>{{x.nombre}}</option>
</select>

ng-model的值始终是一个对象,因此从JS中我给出了它的值:

angular.forEach($scope.momentsList, function (value, key) {
    if (value.idMomento == $scope.selectedControlObject.idMomento) {
        // At this point $scope.selectMomentoEdit is undefined (It's ok)
        console.log(typeof ($scope.selectMomentoEdit));

        // At this point $scope.selectMomentoEdit is an object, the selected value, OK.
        // BUT the select tag won't show my selected option
        $scope.selectMomentoEdit = value;
        console.log($scope.selectMomentoEdit.nombre);
    }
});

因此,在foreach中,我更改了select的ng-model,但是默认情况下,select框设置了一个空选项,而忽略了在foreach中设置的值。

有任何线索吗?

更新:

我制作了一个punker,它起作用了,但是我不知道为什么我的脚本不起作用。我正在使用引导程序模式,但无论如何应该可以工作。

Plunker

0 个答案:

没有答案