Angular.jsでselectの初期値を設定する方法をメモ。
サンプルコード
まずはうまくいかなかった例です。
HTML
<div ng-controller="select_Ctrl"> <select name="select" ng-model="select"> <option value="">-----</option> <option value="{{option.value}}" ng-repeat="option in options">{{option.name}}</option> </select> </div>
JavaScript
angular.module('app', []).controller('select_Ctrl', function($scope) { // selectに設定するoption $scope.options = [ { 'name': '高海 千歌', 'value': 0 }, { 'name': '桜内 梨子', 'value': 1 }, { 'name': '松浦 果南', 'value': 2 }, { 'name': '黒澤 ダイヤ', 'value': 3 }, { 'name': '渡辺 曜', 'value': 4 }, { 'name': '津島 善子', 'value': 5 }, { 'name': '国木田 花丸', 'value': 6 }, { 'name': '小原 鞠莉', 'value': 7 }, { 'name': '黒澤 ルビィ', 'value': 8 } ] // 初期値設定 $scope.select = 5; });
ng-repeatで設定した場合、初期値の設定がうまくできませんでした。
うまくいかなかった場合のデモページ
サンプルコード2
ng-repeatではなくng-optionsを使うとうまく設定できました。
HTML
<div ng-controller="select_Ctrl"> <select name="select" ng-model="select" ng-options="option.value as option.name for option in options"> <option value="">-----</option> </select> </div>
JavaScriptの設定は同じなので省略します。
selectの初期値設定のデモページ
【参考サイト】
コメントが承認されるまで時間がかかります。