2016-10-06 2 views
2

Ich brauche Hilfe, die Zählung einer Liste von Checkboxen in den Wert einer Dropdown-Box anzuzeigen. Wo muss ich zählen? Die Kontrollkästchen werden dynamisch als Array übergeben.Wie erhalte ich die Anzahl der ausgewählten Kontrollkästchen und zeige die Anzahl in Angular 2 an?

Hier ist mein aktueller Code.

Dropdownbox Component

<div ngbDropdown class="d-inline-block" [autoClose]="false"> 
    <button class="btn btn-outline-primary" id="dropdownMenu1" ngbDropdownToggle{{title}}`(need to display the count here)` 
    </button> 
    <div class="dropdown-menu" aria-labelledby="dropdownMenu1"> 
      <input type="text" placeholder="{{searchPlaceholder}}" class="searchBox" /> 
      <div *ngFor="let data of datas"> 
        <cst-checkbox [checkBoxValue] = "data" [ngModel]="data.selected"></cst-checkbox> 
      </div> 
     </div> 
</div> 

Ankreuzfeld Komponente

<div class="checkbox"> 
    <input type="checkbox" value="{{checkBoxValue}}" /> 
    <label>{{checkBoxValue}}</label>  
</div> 

Das Ankreuzfeld Komponente <cst-checkbox> im Dropdown-Komponente.

Antwort

2

Sie können Ihre benutzerdefinierten Rohr erstellen, um Werte erhalten nur ausgewählte, von ihnen Filterung

@Pipe({ 
    name: 'getSelcted', 
    pure: false 
}) 
@Injectable() 
export class GetSelectedPipe implements PipeTransform { 
    transform(items: any[]): any { 
     // take out only selected values 
     return items.filter(item => item.selected === true); 
    } 
} 

Nutzungs

{{(datas: getSelcted)?.length || 0}} 

Note: Make sure GetSelectedPipe has been injected in declarations of AppModule's @NgModule declartions array.

+0

ich Ihren obigen Code versucht. Allerdings hatte ich zur Laufzeit den folgenden Fehler. Hast du eine Ahnung warum? dashboard: 28 Fehler: Fehler: Unerwarteter Wert 'CSTMultiSelectComponent' exportierte vom Modul 'CSTModule' –

+0

Gibt es eine andere Möglichkeit, die Anzahl von selectedCheckbox mit der '@ Input' oder' @ Output' Methode zu erhalten, um anderen HTML zu übergeben Datei? –

+0

Es scheint, als hättest du etwas mit NgModule vermasselt –

Verwandte Themen