QA@IT

Angular select option でのdefault値

2587 PV

Angularjsでselect文の中で動的にdefault値を設定したいのですがうまくいきません。

JSの一番下のconsole.logでは思った表示が出るのですが、select中のng-modelとバインドできません。
$scope.XXXX をいつも変数のように扱っているのですが、そもそもそれも間違いなのでしょうか。

よろしくご教授をお願いいたします。

////////HTML

<div class="item item-input">
    <lavel>使用時間</label>
    <select ng-model="selectedMinutes" ng-options="minute as minute for minute in minutes" ></select>
    </div>


////////////////JS

   $http({
        method:'GET',
        url: 'http://www.xxxxxx.jp/minute.php',
        params:{
        uid: $localStorage.userId,
        }
      })
      .success(function(data){

        var minutedata = data;  //////例)60
        if(minutedata!=0){

        var taketime = []; 

          angular.forEach(data,function(value){

//////選択用opotion部分成形
var unit = parseInt($localStorage.unit);/////基本時間単位 例えば10分、30分

var maxminutes = 180;
var minutes = [];
for (var i=unit;i<=maxminutes;i+=unit){
minutes.push(i);
}

///////////////////////////////////DBを参照した使用時間
       $scope.taketime=(value.taketime);console.log($scope.taketime); ////ここではlogに60が表示される

       $scope.selectedMinutes = $scope.taketime;console.log($scope.selectedMinutes); ////ここでも60表示
            }); 

        };

    });

///////////////////////////結果
 <select ng-options.....>
    <option value=? selected=selected></option>
    <option value=20>20</option>
    <option value=30>30</option>
    <option value=60>60</option>
    <option value=120>120</option>
 </select>

/////////////////////////////欲しい結果
 <select ng-options......>
    <option value=20>20</option>
    <option value=30>30</option>
    <option value=60 selected=selected>60</option>
    <option value=120>120</option>
 </select>
  • 自己解決いたしました。

    vat taketime = $scope.taketime;

    for (var i=unit;i<=maxminutes;i+=unit){
    minutes.push(i);
    if(taketime === i){
    $scope.selectedMinutes=minitue[i];
    }
    }

    いつまでたっても配列が理解できてないです・・・
    -
ウォッチ

この質問への回答やコメントをメールでお知らせします。