2017-01-15 13 views
1

ng-optionにデフォルト値を追加しようとしていますが、できません。 は、ここに私のコード 角度フィルタを使用したドロップダウンのデフォルト値を選択できません

var app = angular.module('jobs',[]).constant('API_URL', 'http://localhost:8000/'); 

app.controller('jobsController', function($scope, $http, API_URL, $timeout){ 
    $scope.selectedItem = "Years"; 
    console.log("hihi"); 
}); 

angular.module('jobs').filter("minmax", function(){ 
    return function(arr, min, max){ 
     min = parseInt(min); 
     max = parseInt(max); 
     for(var i =min; i <= max; i++){ 
      arr.push(i); 
     } 
     return arr; 
    }; 
}); 


<div class="m-banner-1" ng-controller="jobsController"> 
    <select class="ui fluid normal dropdown" data-ng-model="selectedItem" 
      ng-options="opt as opt for opt in [] | minmax:0:30"> 
    </select> 
</div> 

はここa link

です!

私はデフォルト

として選択し、「年」は手動で空のデフォルトのオプションを追加する必要があります

+0

これは意味がありません。あなたのオプションの配列には数字が含まれています。 「年」は数字ではなく、オプションではないため、選択することはできません。そして、$ scope.selectedItemを選択したければ、ng-modelは 'ng-model =" selectedItem "'でなければなりません。 'ng-model ="ではなく "proofGroupId"です。あなたは実際に何をしたいですか?選択ボックスに数字が表示され、上部に「年」と表示されるデフォルトオプションが表示されますか? –

+0

はい、ちょうど「選択」ボックスに数値を表示し、上部に「年」と表示されるデフォルトのオプションが表示されます –

答えて

0

を、オプションのあなたの配列が含まれています数字。 「年」は数字ではなく、オプションではないため、選択することはできません。さらに、$scope.selectedItemを選択したい場合は、ng-modelはng-model="selectedItem"である必要があります。 Not ng-model="proofGroupId"

the correct way to do「デフォルトのオプション」を表示するには、値なしのオプションと必要なラベルをHTMLに追加します。

各ダイジェストで新しい配列を再作成して再投入するフィルターを使用することも、まったく良いことではなく、より複雑で効率の低いものにしてしまいます。それはフィルターのためのものではありません。ここで

は、それはのようになります方法は次のとおりです。

var app = angular.module('jobs',[]); 

app.controller('jobsController', function($scope) { 
    $scope.opts = []; 
    for (var i = 0; i <= 30; i++) { 
    $scope.opts.push(i); 
    } 
}); 

<div class="m-banner-1" ng-controller="jobsController"> 

    <select class="ui fluid normal dropdown" ng-model="proofGroupId" 
      ng-options="opt as opt for opt in opts"> 
    <option value="">Years</option> 
    </select> 

    {{ proofGroupId }} 
</div> 

そして、ここではin a plunkrです。

+0

回答と提案に感謝します。 –

0

助けてくださいしたい:私はコメントで言ったように

<select class="ui fluid normal dropdown" 
    ng-model="selectedItem" 
    ng-options="opt as opt for opt in [] | minmax:0:30"> 
    <option value="">Years</option> 
</select> 
関連する問題