javascript - jquery 中的 index() 的 Angular 等效项

标签 javascript angularjs

我使用 Angular 1.5。我有两个选择,我需要根据第一个选择的选项索引更新第二个选择。

有没有一种简单的方法来获取所选选项的索引?就像从 05 一样。

我的第一个选择是:

<select class="form-control" name="idEtablissement" ng-model="infosEtab.idEtablissement" ng-change="updateContrats()"
    ng-options='item.id as item.name for item in listeEtablissement'>
</select>

我需要这样的东西:

// return -1, listeEtablissement is [{id: 2, name: 'Test'}, {...}]
alert($scope.listeEtablissement.indexOf($scope.infosEtab.id));

$listeEtablissement 是:

[{id: 2, name: 'Test'}, {id: 5, name: 'Test 2'}]

但是我需要索引,比如 0 或 1。

已编辑

好吧,我将使用 Javascript 方法,最简单的方法:

$scope.updateContrats = function() {
    var index = document.getElementById('idEtablissement').selectedIndex;
    // ....
}   

最佳答案

您应该使用 array.findIndex(); 通过 native JavaScript 来完成此操作,如 runnable demo fiddle 所示。

查看

<div ng-controller="MyCtrl">
  <select class="form-control" 
          name="idEtablissement" 
          ng-model="infosEtab.idEtablissement" 
          ng-change="updateContrats()" 
          ng-options='item.id as item.name for item in listeEtablissement'>
  </select>
</div>

AngularJS 应用

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

myApp.controller('MyCtrl', function($scope) {

  $scope.selectedIndex = null;
  $scope.listeEtablissement = [{
    id: 2,
    name: 'Test'
  }, {
    id: 5,
    name: 'Test 2'
  }];

  $scope.updateContrats = function() {
    $scope.selectedIndex = $scope.listeEtablissement.findIndex(function(item) {
      return item.id === $scope.infosEtab.idEtablissement
    });
  }
});

关于javascript - jquery 中的 index() 的 Angular 等效项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42852680/

相关文章:

javascript - 消除 D3 基线图过渡中的突然添加/删除

javascript - Mongoose 更新嵌套值

javascript - 进行3次统一检查

javascript - 将 AngularJS 函数转换为服务

javascript - 为什么我的默认单选按钮没有出现在模型中?

javascript - 带有水平滚动的固定标题

javascript - D3 v4 重新渲染嵌套对象, `enter()` 和 `exit()` 有问题

javascript - 将事件类添加到子状态下的元素

javascript - 组件和 cms 驱动应用程序的 AngularJS 最佳实践

javascript - 在 AngularJS 中,我可以/应该从 Controller 增强模型吗?