2016-09-12 72 views
5

Mam następujący częścią szablonu html:atrybut niepełnosprawnych nie działa z wymaganym atrybutem w wybranych tagu

<div class="row"> 
    <div class="medium-3 columns"> 
     <label>Category 
     <select [(ngModel)]="item.cat" name="cat" required> 
      <option *ngFor="let a of categories" [ngValue]="a">{{a.name}}</option> 
     </select> 
     </label> 
    </div> 

    <div class="medium-3 columns"> 
     <label>Categoria 
     <select [(ngModel)]="item.place" name="place" [disabled]="!item.cat"> 
      <option *ngFor="let c of places" [ngValue]="c">{{c.name}}</option> 
     </select> 
     </label> 
    </div> 
</div> 

Jak widać drugi select jest wyłączony aż użytkownikom wybrać jedną opcję z pierwszej wybrać. Jeśli więc użytkownik wybierze opcję z pierwszego wyboru, drugi wybór stanie się aktywny. Teraz można dodać atrybut required nawet do drugiego wyboru. Ale jeśli to zrobię, drugi select jest zawsze wyłączony.

Czy to zachowanie nie jest dziwne?

Oto Plunker (podziękowania dla Stefana Svrkoty).

+2

Po prostu próbowałem odtworzyć ten problem, ale twój kod działa dobrze dla mnie. Oto plnkr z oczekiwanym zachowaniem twojego kodu, sprawdź to: http://plnkr.co/edit/QX3LfN –

+0

Może być konieczna aktualizacja do najnowszej wersji Angular2. –

+0

@ GünterZöchbauer Mam już najnowszą wersję (RC6). – smartmouse

Odpowiedz

0

[disabled] działa na wyrażenie boolowskie, jeśli wyrażenie zwraca/zwraca wartość true, zostanie wyłączone, inaczej nie. W twoim przypadku powiązałeś wyłączoną właściwość z wartością liczbową. który nic nie ocenia