Angula 1.x可输入的下拉框代码
时间: 2024-04-15 22:31:46 浏览: 8
在AngularJS 1.x中,可以通过自定义指令来实现可输入的下拉框。下面是一个示例代码:
HTML代码:
```
<div ng-app="App" ng-controller="myCtrl">
<input type="text" ng-model="selectedItem" ng-keyup="filterItems()" placeholder="Type to search">
<ul class="dropdown">
<li ng-repeat="item in filteredItems" ng-click="selectItem(item)">{{item}}</li>
</ul>
</div>
```
JavaScript代码:
```javascript
angular.module('myApp', [])
.controller('myCtrl', function($scope) {
$scope.items = ['Apple', 'Banana', 'Orange', 'Mango'];
$scope.filteredItems = $scope.items;
$scope.filterItems = function() {
if ($scope.selectedItem) {
$scope.filteredItems = $scope.items.filter(function(item) {
return item.toLowerCase().startsWith($scope.selectedItem.toLowerCase());
});
} else {
$scope.filteredItems = $scope.items;
}
};
$scope.selectItem = function(item) {
$scope.selectedItem = item;
};
});
```
在上述示例中,我们使用ng-model指令将输入框与$scope.selectedItem绑定,ng-keyup指令用于在输入框中输入文本时触发过滤操作。
下面的ul元素使用ng-repeat指令来遍历$scope.filteredItems数组,并为每个元素创建一个li元素。ng-click指令用于在点击选项时选择该选项,并将其赋值给$scope.selectedItem。
通过这种方式,用户可以在输入框中输入文本进行筛选,并从下拉列表中选择一个选项。选择的选项会自动填充到输入框中。