2017-12-12 5 views
0

現在選択されている色のオプションを基に、選択の背景色を設定しようとしています。私はどのようにスタイリングセット(私は角度4を使用している)を取得するには固執しています。角度4を使用して現在選択されているオプションから選択の背景色を設定する方法

私がやろうとしているものの例は次のとおりです。

<select class="form-control" [ngStyle]="this.options[this.selectedIndex].getAttribute('style')" 
         [(ngModel)]="result.Id" 
         name="test" 
         required> 
        <option *ngFor="let weight of riskWeights" [ngStyle]="{'background-color': weight.color}" [ngValue]="weight.Id">{{weight.name}}</option> 
       </select> 

どこが間違っている現在選択されている項目を取得しようとスタイルを設定しているつもりです:[ngStyle] = "this.options [this.selectedIndex] .getAttribute( 'style') "。現在選択されている項目の背景色を読み込んで選択に適用するための構文/技法を得ることができません。

これを行う方法に関するアイデアはありますか?

答えて

1

あなたは次のように、オプションの値を使用して、選択の色を設定することができますselect

の代わりにoptionの背景を設定しようとしている、

<select [ngStyle]="{'background-color': color}" [(ngModel)]="color"> 
    <option value="red">Red</option> 
    <option value="green">Green</option> 
    <option value="yellow"> Yellow </option> 
</select> 

Example

+0

感謝。私はオプションがカラーオブジェクトではないので、私は値を使うことができません、私はオブジェクトのカラープロパティを持っています。私はまだ選択されたオブジェクトのIDを今でも必要とするので、[(ngModel)]はIDを設定する必要があります。 – Dave

関連する問題