在angularjs 1.4中,由于类型不匹配,选择元素值没有被绑定

Select element value is not binding because of type mismatch in angularjs 1.4

本文关键字:元素 选择 不匹配 绑定 angularjs 于类型 类型      更新时间:2023-09-26

我使用的是ng-model,它被分配了一个值,但它不与选定的元素绑定。

<select data-ng-model="myval">
  <option value="? number:2 ?"></option>
  <option value="2" class="ng-binding">Value 1</option>
  <option value="3" class="ng-binding">Value 2</option>
</select>
上面代码片段中的

number:2之所以生成,是因为myval被赋值给2和我注意到这是因为类型不匹配。我的问题是,我们将如何给值选项标签与类型数字?

我总是使用ng-options指令而不是自定义选择ng-repeat和许多ng-value

如果你有这样的东西:

$scope.items = [
    { id: 1, title: 'key #1' },
    { id: 2, title: 'key #2' }
];

那么你应该这样做:

<select ng-model="selected" ng-options="item.title for item in items"></select>

你将得到:

<select ng-model="selected" ng-options="item.title for item in items">
    <option value="key #1"></option>
    <option value="key #2"></option>
</select>

绑定将允许你这样做:

console.log($scope.selected); // { id: 2, name: 'key #2' }

您可以在这里找到一个示例:http://codepen.io/anon/pen/GpKKaW