2016-11-16 134 views
0

我想將以下select,option標籤更改爲ul,li將angular2選擇/選項更改爲ul/li綁定到選項

<select [(ngModel)]="selectedLanguage" name="selectedLanguage"> 
        <option *ngFor="let lang of languages" [value]="lang">{{lang}}</option> 
       </select> 

理想情況下是bootrap友好,如:

<ul class="dropdown-menu"> 
    <li>...</li> 
</ul> 

有人可以幫助嗎? 感謝

編輯: 如果我只是改變了liselectuloption我得到

error_handler.js:49ORIGINAL EXCEPTION: No value accessor for form control with name: 'selectedLanguage' 

我猜[value]標籤不上li有效的,但我不是很確定如何修復它

我需要[(ngModel)]="selectedLanguage"更新爲選定的li

+1

有什麼問題? –

回答

1

重寫,應該是一樣簡單:

<ul class="dropdown-menu"> 
    <li *ngFor="let lang of languages" (click)="selectedLanguage = lang">{{lang}}</li> 
</ul> 

工作plunker例如使用

+0

這不是一回事。這不會讓我在'selectedLanguage'變量上設置所選語言 – nuvio

+0

您沒有告訴我們,那是您的目標 - 只需在點擊時指定它。 – rinukkusu

+0

好的謝謝你 – nuvio

2

你不能<ul>使用[(ngModel)]="..."。這隻適用於提供ControlValueAccessor的組件。您需要爲支持ControlValueAccessor<ul>元素實例化一個組件以使其工作。