2017-02-21 81 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中考虑。

标记

<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值。我想象的是所有钩子都是本地的md-option元素。我会尽量使用它,并让codereview决定它是否可以接受。 – WorldSEnder

相关问题