如何设置默认值ngOptions,当选项是对象,并且默认情况下是一个整数ID

布兰登·安扎尔迪(Brandon Anzaldi)

我正在使用ngOptions来显示选择元素,并希望将模型连接到ngOptions中设置为值的值。

var app = angular.module('test', []);

app.controller('TestCtrl', ['$scope',
  function ($scope) {
    //Use random to simulate different data from an API
    $scope.default = Math.floor(Math.random()*3);
    $scope.options = [
      {
        id: 0,
        name: "Option 1"
      },
      {
        id: 1,
        name: "Option 2"
      },
      {
        id: 2,
        name: "Option 3"
      }
    ];
  }]);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="test">
  <div ng-controller="TestCtrl">
    <select ng-model="default" ng-options="val.name for val in options track by val.id">
    </select>
    <pre>Default should be ID {{default}}, or Option {{default+1}}
  </div>
</div>

我已经尝试使用track byselect as和我已经发现了两个解决方案的工作,但效果不理想。

理想情况下,我可以设置默认值

解决方案1:

// Loop through entire array of objects
$scope.options.forEach(function (v, k) {
  // Compare ID to what the default should be
  if (v.id === $scope.default) {
    // Set object to default
    $scope.default = v;
    return true;
  }
});

解决方案2:

JS

$scope.options = {
  "Option 1": 0,
  "Option 2": 1,
  "Option 3": 2
};

的HTML

<select ng-model="default" ng-options="value as key for (key, val) in options">

该解决方案最棘手的是,它只能在对象具有不超过两个值的情况下起作用,因为键不能是对象。

有什么方法可以使Angular通过键设置默认值,而不必包含整个对象?

引子

像这样尝试

<select ng-options="item.id as item.name for item in options" ng-model="selected"></select>

然后在控制器中

$scope.selected = 1;

类似的plunkr示例

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在什么情况下,默认值必须是一个函数?

来自分类Dev

ngOptions默认情况下选择了所有选项,并且在选择时消失了选项

来自分类Dev

如何在jQuery Ul选项卡中设置最后一个选项卡默认值?

来自分类Dev

默认情况下如何在选择框中或下拉菜单中选择第一个选项

来自分类Dev

Dojo Select-默认情况下选择第一个选项

来自分类Dev

默认情况下,plt.show()中的一个设置关键字“ block”如何等于True?

来自分类Dev

如何设置多值选项的默认值

来自分类Dev

如何创建一个默认情况下返回值但又具有扩展方法的方法?

来自分类Dev

RxJS:为另一个可观察对象设置默认值

来自分类Dev

在硬编码选项 mgModel 的情况下选择标签默认值

来自分类Dev

如果上一个字段具有默认值并且使用默认值作为选定值,则如何禁用所有其他字段

来自分类Dev

默认情况下,条纹中的另一个枚举值

来自分类Dev

默认情况下从选择框中选择第一个值-AngularJS

来自分类Dev

Scala如何在不重新定义默认值的情况下使用默认值

来自分类Dev

R默认情况下设置一个值。为什么不选择ceiling()或round()?

来自分类Dev

powershell v2函数,如何在不命名第二个参数的情况下为第一个参数提供默认值?

来自分类Dev

如何在默认情况下使一个触发器保持打开状态

来自分类Dev

在保持默认值的情况下使文本消失

来自分类Dev

如何将ID传递给另一个视图的默认值

来自分类Dev

ffmpeg中是否有一个选项可以指定默认情况下应显示的字幕轨道?

来自分类Dev

如何在没有导出默认值的情况下构建组件导出?

来自分类Dev

为我的下拉列表设置一个默认值,该默认值是从数据库填充的

来自分类Dev

如何使用Jquery-Chosen插件使下拉菜单中的第一个选项成为默认值

来自分类Dev

如何将微调器中的第一个值(默认值)设置为空

来自分类Dev

默认情况下如何创建不带选项的选择

来自分类Dev

如何为选择选项设置默认值

来自分类Dev

如何设置随机整数作为Django CharField的默认值?

来自分类Dev

如何在mongodb中设置整数的默认值?

来自分类Dev

如果使用通用类型参数声明了一个类,并且在未指定类型的情况下实例化了该类,则它是否默认为Object?

Related 相关文章

  1. 1

    在什么情况下,默认值必须是一个函数?

  2. 2

    ngOptions默认情况下选择了所有选项,并且在选择时消失了选项

  3. 3

    如何在jQuery Ul选项卡中设置最后一个选项卡默认值?

  4. 4

    默认情况下如何在选择框中或下拉菜单中选择第一个选项

  5. 5

    Dojo Select-默认情况下选择第一个选项

  6. 6

    默认情况下,plt.show()中的一个设置关键字“ block”如何等于True?

  7. 7

    如何设置多值选项的默认值

  8. 8

    如何创建一个默认情况下返回值但又具有扩展方法的方法?

  9. 9

    RxJS:为另一个可观察对象设置默认值

  10. 10

    在硬编码选项 mgModel 的情况下选择标签默认值

  11. 11

    如果上一个字段具有默认值并且使用默认值作为选定值,则如何禁用所有其他字段

  12. 12

    默认情况下,条纹中的另一个枚举值

  13. 13

    默认情况下从选择框中选择第一个值-AngularJS

  14. 14

    Scala如何在不重新定义默认值的情况下使用默认值

  15. 15

    R默认情况下设置一个值。为什么不选择ceiling()或round()?

  16. 16

    powershell v2函数,如何在不命名第二个参数的情况下为第一个参数提供默认值?

  17. 17

    如何在默认情况下使一个触发器保持打开状态

  18. 18

    在保持默认值的情况下使文本消失

  19. 19

    如何将ID传递给另一个视图的默认值

  20. 20

    ffmpeg中是否有一个选项可以指定默认情况下应显示的字幕轨道?

  21. 21

    如何在没有导出默认值的情况下构建组件导出?

  22. 22

    为我的下拉列表设置一个默认值,该默认值是从数据库填充的

  23. 23

    如何使用Jquery-Chosen插件使下拉菜单中的第一个选项成为默认值

  24. 24

    如何将微调器中的第一个值(默认值)设置为空

  25. 25

    默认情况下如何创建不带选项的选择

  26. 26

    如何为选择选项设置默认值

  27. 27

    如何设置随机整数作为Django CharField的默认值?

  28. 28

    如何在mongodb中设置整数的默认值?

  29. 29

    如果使用通用类型参数声明了一个类,并且在未指定类型的情况下实例化了该类,则它是否默认为Object?

热门标签

归档