2016-11-16 3 views
0

Я хотел бы изменить следующие select, option теги, которые будут ul, li вместо этого.Изменить angular2 select/option to 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> 

Может кто-то помочь, пожалуйста? Благодаря

EDIT: Если я просто изменить select для ul и option для li Я бы получить

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

Вы не можете использовать [(ngModel)]="..." с <ul>. Это работает только с компонентами, которые обеспечивают ControlValueAccessor. Вам нужен компонент, созданный для элемента <ul>, который поддерживает ControlValueAccessor, чтобы сделать эту работу.

Смежные вопросы