[英]Set a default value in a select with simple array in AngularJS
我有一個簡單的數組:
items = ['All','item1','item2','item3'];
我已經嘗試過了
<select ng-model="ctrl.itemSelected" ng-change="ctrl.searchItem()">
<option ng-repeat="item in ctrl.items" value="{{ctrl.items.indexOf(item)}}">{{item}}</option>
</select>
但是,我的選擇在頁面中呈現為
<select ... >
<option value='?' selected> </option>
<option value='0'> All </option>
<option value='1'> Item1 </option>
<option value='2'> Item2 </option>
<option value='3'> Item3 </option>
</select>
所以我想在開始時選擇<option value='0'> All </option>
我的選項
我能做什么?
只需在控制器中進行初始化itemSelected
模型即可:
ctrl.itemSelected = items[0];
嘗試這個
<select ng-init="funcName= options[0]" ng-model="ctrl.itemSelected" ng-change="ctrl.searchItem()">
<option ng-repeat="item in ctrl.items" value="{{ctrl.items.indexOf(item)}}">{{item}}</option>
</select>
問題在於,為select
保留的模型需要具有初始值。 由於ctrl.itemSelected
沒有初始值,因此您的選擇選項在啟動時設置為空白值
將select
的模型初始化為來自options的值。 像這樣
$scope.ctrl.itemSelected = 0;
使用ng-selected
in option
var app = angular.module('mapp', []); app.controller('MainCtrl', function($scope) { $scope.items = ['All','item1','item2','item3']; $scope.itemSelected = $scope.items[2]; });
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> <body ng-app="mapp" ng-controller="MainCtrl"> {{itemSelected}} <select ng-model="itemSelected"> <option ng-repeat="item in items" ng-selected="{{item == itemSelected}}" value="{{items.indexOf(item)}}">{{item}}</option> </select> </body>
用作數組
$scope.items = ['All','item1','item2','item3'];
use the the Initialize the modal
ctrl.itemSelected = $scope.items[0];
<select ng-model="itemSelected">
<option ng-repeat="item in items" ng-selected="{{item == itemSelected}}" value="{{items.indexOf(item)}}">{{item}}</option>
</select>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.