在AngularJS中,可以通过使用ng-options
指令来创建一个下拉列表,并获取选中项的数组索引。ng-options
指令可以用于动态生成<select>
元素的选项。
要获取ng-options
上的数组索引,可以使用ng-model
指令来绑定一个变量,然后在控制器中使用该变量来获取索引。
以下是一个示例代码:
<select ng-model="selectedOption" ng-options="item as item.name for item in options"></select>
在上面的代码中,ng-options
指令使用item as item.name for item in options
的语法来生成选项。options
是一个数组,每个元素都有一个name
属性。
在控制器中,可以通过$scope.selectedOption
来获取选中的项的值。要获取数组索引,可以使用indexOf
方法来查找选中项在数组中的位置。
以下是一个完整的示例代码:
<!DOCTYPE html>
<html ng-app="myApp">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.7.9/angular.min.js"></script>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.options = [{
name: 'Option 1'
},
{
name: 'Option 2'
},
{
name: 'Option 3'
}
];
$scope.selectedOption = $scope.options[0];
$scope.getSelectedIndex = function() {
return $scope.options.indexOf($scope.selectedOption);
};
});
</script>
</head>
<body>
<div ng-controller="myCtrl">
<select ng-model="selectedOption" ng-options="item as item.name for item in options"></select>
<p>Selected Index: {{getSelectedIndex()}}</p>
</div>
</body>
</html>
在上面的代码中,$scope.options
是一个包含三个选项的数组。$scope.selectedOption
绑定了选中的项,默认为数组的第一个元素。$scope.getSelectedIndex
函数返回选中项在数组中的索引。
这是一个简单的示例,你可以根据实际需求进行修改和扩展。
领取专属 10元无门槛券
手把手带您无忧上云