【问题标题】:AngularJS ng-model not setting correct valueAngularJS ng-model 没有设置正确的值
【发布时间】:2015-01-15 10:25:47
【问题描述】:

我有一个表格,当点击一行时,我调用了这个函数:

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

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

<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 adds strange options into select element when setting model value

【问题讨论】:

  • 你有什么plunkr吗?
  • 当名称是字符串“测试名称”时,您使用 name.fullName 作为值?
  • 什么是row 对象,它与names 数组中的对象相同吗?
  • 行对象有一个名称属性和其他几个属性,这个选择菜单只显示名称

标签: javascript angularjs angular-ngmodel


【解决方案1】:
<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>

【讨论】:

  • 是的,我尝试了 ng-options,但不幸的是它不起作用
猜你喜欢
  • 2018-11-14
  • 2015-05-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-21
  • 1970-01-01
相关资源
最近更新 更多