2017-07-13 4 views
4

私のngForのチェックボックスにチェックを入れてデフォルト値を設定しようとしています。 これは、チェックボックス項目の私の配列である:これは私のhtml角2:デフォルトでngForのチェックボックスがオンになっています

<div class="form-group"> 
     <div class="form-check" *ngFor="let tag of tags;"> 
     <label class="form-check-label" for="tag{{tag.value}}"> 
      <input 
      class="form-check-input" 
      type="checkbox" 
      id="tag{{tag.value}}" 
      name="tagOptions" 
      [(ngModel)]="tag.checked"> 
      {{tag.name}} 
     </label> 
     </div> 
    </div> 
所望の結果は2を確認得ることです

、および2未チェックボックスである

tags = [{ 
    name: 'Empathetic', 
    checked: false 
    }, { 
    name: 'Smart money', 
    checked: true 
    }, { 
    name: 'Minimal help after writing check', 
    checked: false 
    }, { 
    name: 'Easy term sheet', 
    checked: true 
    }]; 

は、それらのすべてが未チェックです。私は[checked] = "tag.checked"とさまざまなバリエーションを試しましたが、そのトリックを行うようには見えませんでした。私はまだ私の変数の変化をコントロールしていた間、

+0

この、正しいですそれ –

答えて

4

、代わりにngModelのcheckedプロパティを使用しますこれは、確認/未チェックのチェックボックスと私の問題を解決しました。

HTML

<div class="form-group"> 
    <div class="form-check" *ngFor="let tag of tags; let i = index;"> 
    <label class="form-check-label" for="tag{{tag.value}}"> 
     <input 
     class="form-check-input" 
     type="checkbox" 
     id="tag{{tag.value}}" 
     name="tagOptions" 
     (change)="changeCheckbox(i)" 
     [checked]="tag.checked"> 
     {{tag.name}} 
    </label> 
    </div> 

.TS

changeCheckbox(tags, i) { 
    if (tags) { 
     this.tags[i].checked = !this.tags[i].checked; 
    } 
    } 
+0

私は前に投稿した答え、なぜあなたは答えとして再び投稿しているのですか? – Sajeetharan

+0

(change)= "changeCheckbox(i)" –

+0

(change)= "changeCheckbox(i)"のタグ引数を渡すべきではありませんか? – codemonkeybr

2

<div class="form-group"> 
     <div class="form-check" *ngFor="let tag of tags"> 
     <label class="form-check-label" for="tag{{tag.value}}"> 
      <input 
      class="form-check-input" 
      type="checkbox" 
      id="tag{{tag.value}}" 
      name="tagOptions" 
      [checked]="tag.checked"> 
      {{tag.name}} 
     </label> 
     </div> 
    </div> 

DEMO

+1

..私はあなたのコードに問題を見ていない、私は、生成されたNGプロジェクトにあなたのコードをコピーして、それが動作します私の質問に答えます。ただし、別の問題が発生します。チェックボックスのチェックを外すかチェックすると、その変更は登録されません。 –

関連する問題