AngularJS ng-model 未设置正确的值



我有一个表格,当单击一行时,我调用此函数:

 $scope.updateRow = function(row) {
     $scope.row = angular.copy(row);
}

$scope.row 有一个 name 属性,我有一个应该显示此名称的选择菜单:

<select name="rowName" ng-model="row.name" required required-message="'A name must be selected '" class="sa-select">
  <option value=""></option>
  <option ng-repeat="name in names" value="{{name.fullName}}">{{name.fullName}}</option>
</select>

但是,单击该行时,它将选择菜单中的选项值设置为

<option value="? string:test name ?"></option>

即使 $scope.row.name = "测试名称"

选项值应如下所示:

<option value="test name">test name</option>

似乎与这个问题类似的问题:Angular 在设置模型值时将奇怪的选项添加到选择元素中

<select name="rowName" ng-options="name.fullName as name.fullName for name in names" ng-model="row.name" required required-message="'A name must be selected '" class="sa-select">    

未经测试,但您可以在此处阅读更多内容:https://docs.angularjs.org/api/ng/directive/ngOptions

如果您想添加一个默认选项,它将如下所示:

<select name="rowName" ng-options="name.fullName as name.fullName for name in names" ng-model="row.name" required required-message="'A name must be selected '" class="sa-select">
<option value="your value"> your text </option>
</select>

最新更新