2017-02-21 5 views
1

私は、次の小さなサンプルを持っている:私が欲しいものmd-selectを使用して1つのオプションで複数のオプションを選択できますか?

<md-select ng-model="selectedYears" multiple> 
    <md-option>10 Years</md-option> 
    <md-option value="2016"> 
    <md-option value="2015"> 
    <!--- more options --> 
</md-select> 

は、(代わりにオプションを選択するので)ユーザーが、私は上記の「10年」で標識されたオプションを選択した場合には、以下の同等が起こるはずです

$scope.selectedYears = [2016, 2015/*, ... */]; 
+0

あなたが達成しようとしている正確に何を、より多くを説明できますか? –

+0

@PankajParkar、私はそれが今より良いことを望んで、多くを短縮しました – WorldSEnder

+0

チェックアウトの答え、私もあなたのためにCodepenを作成:) –

答えて

1

10 yearsは手動で10年続く可能性がその時に選択されていますがあるたびになるようにあなたのselectに変更イベントを入れることができます。 valueng-valueに変更して、stringの代わりにnumberタイプの値を考慮する必要があります。

マークアップ

<md-select ng-model="selectedYears" multiple ng-change="yearChanged(selectedYears)"> 
    <md-option ng-value="10">10 Years</md-option> 
    <md-option ng-value="2016">2016</md-option> 
    <md-option ng-value="2015">2015</md-option> 
    <md-option ng-value="2014">2014</md-option> 
    <md-option ng-value="2013">2013</md-option> 
    <md-option ng-value="2012">2012</md-option> 
    <md-option ng-value="2011">2011</md-option> 
    <md-option ng-value="2010">2010</md-option> 
    <md-option ng-value="2009">2009</md-option> 
    <md-option ng-value="2008">2008</md-option> 
    </md-select> 
</md-select> 

Forked Pen

+0

それは動作しますが、私の場合に使用することが困難になるいくつかの問題があります。まず、私はすでに変更方法を掛けています - 少し迷惑です。第二に、特別なオプションのng値を内部の変更と同期させなければならないでしょう。これは読者にはあまり明らかではありません。要約すると、これは動作しますが、おそらくcodereviewをパスしません。しかし、あなたの努力に感謝します。 – WorldSEnder

+0

@WorldSEnder 'ng-change'フックの問題点を詳しく解説してください。 –

+0

フックされたメソッドの中で特別なオプションのng値を繰り返さなければならないということです。私が想像したことは、すべてのフックが問題のmd-option要素に対してローカルであるということでした。私はそれを使用して、codereviewにそれが受け入れられるかどうかを決定させます。 – WorldSEnder

関連する問題