在AngularJS中选择未正确绑定的框

时间:2017-06-18 12:35:09

标签: javascript angularjs

AngularJS绑定不适用于选择框。我有以下选择:

<select id="ratingProject" data-ng-model="rt.project" data-ng-options="prj.name for prj in projectList"></select>

一个应该通过以下方法更新其值的按钮:

<button data-ng-click="rating.modify($index)">Modify</button>

方法的代码是:

$scope.rating = {
        modify : function(index) {
            var newRating = $.extend(true, {}, $scope.subcontractor.ratings[index]);
            $scope.rt = newRating;
            $scope.rt.index = index;
        }
    };

但这不起作用,如果我点击按钮,则选择框不会更新其值。问题只发生在selectbox上,如果我按如下方式输入文本输入,它就会起作用:

<input type="text" id="ratingProject" data-ng-model="rt.project.name" />

该对象具有以下结构:

rating {
    project{
        id,
        name
    },
    stars,
    comments
}

有关为何发生这种情况的任何建议? 感谢

2 个答案:

答案 0 :(得分:0)

更改传递给函数的参数

<button data-ng-click="rating.modify(prj)">Modify</button>

答案 1 :(得分:0)

通过将track by prj.id添加到ng-options

来解决