簡體   English   中英

在AngularJS中的簡單數組選擇中設置默認值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM