2017-02-21 16 views
1

У меня есть следующий небольшой образец:Могу ли я использовать md-select и выбрать один из нескольких вариантов?

<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

вы можете поместить событие изменения на вашем select так, что всякий раз, когда есть 10 years было выбрано это время вы могли бы длиться 10 лет вручную. Также вам нужно изменить value на ng-value, так что значение должно учитываться как number, а не string.

Markup

<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-change, подключенный - немного неприятный. Во-вторых, мне нужно было бы сохранить значение ng-значения специального параметра в синхронизации с внутри ng-change, что не совсем очевидно для любого читателя. Подводя итог, это работает, но, вероятно, не пройдет codereview. Спасибо за ваши усилия. – WorldSEnder

+0

@WorldSEnder Вы могли бы прояснить, что случилось с крюком 'ng-change'? –

+0

Что я должен повторить значение ng специальной опции внутри метода hooked. Я думал, что все крючки являются локальными для рассматриваемого элемента md-option. Я буду использовать его, и пусть codereview решит, приемлемо ли это. – WorldSEnder