2016-04-14 13 views
15

角2の字形を使用しています。私はチェックボックスを含むフォームを提出する必要がある問題に直面しています。チェックボックスの属性に値が必要です。チェックボックスは動的なので、任意の数のチェックボックスが表示されます。角2のチェックボックスから値を取得します。

<div class="checkbox" *ngFor="#label of labelList"> 
     <div class="col-sm-4"> 
      <label><input type="checkbox" value="{{label.Id}}">{{ label.Name }} </label> 
     </div> 
</div> 

答えて

19

私は、これは(テストしていない)

<div class="checkbox" *ngFor="let label of labelList"> 
    <div class="col-sm-4"> 
    <label> 
     <input type="checkbox" value="{{label.Id}}" (change)="checkboxes[$event.target.getAttribute('value')]=$event.target.checked"> 
     {{ label.Name }}</label> 
    </div> 
</div> 

を仕事とあなたのコンポーネントにcheckboxesに変更されたチェックボックスの値を格納するべきだと思います。

+0

そして、typescript(angular2)側には何がありますか。どのような機能になりますか? – James

+0

機能はありません。変更されたチェックボックスの値を含む 'checkboxes'オブジェクトだけです。あなたが実際に達成しようとしていることについてより多くの情報を提供すれば、私はより多くの提案をすることができるかもしれません。 –

+0

はチェックボックスの値をコンソールに入れますか? – James

0

チェックボックスの属性をnameと指定すると、バックエンドでそれを追跡できるようになります。 ng2-material checkbox

そして、あなたはあなたのコンポーネントでこれを行うことができます:

2

私は、チェックボックスのためにこれを使用

<md-checkbox [checked]="exists(label.Id)" (click)="toggle(label.Id)"></md-checkbox> 

    selected = []; 
    @Output() selectedChange:EventEmitter<any> = new EventEmitter(); 

    toggle(id) { 
    var index = this.selected.indexOf(id); 
    if (index === -1) this.selected.push(id); 
    else this.selected.splice(index, 1); 
    this.selectedChange.emit(this.selected); 
    } 

    exists(id) { 
    return this.selected.indexOf(id) > -1; 
    } 
-4

は、私はあなたが簡単で取得することができますチェックし、チェックボックスかどうかを知りたいと思います入力タグ属性にng-model属性を指定することによりブール値の形式。詳細は

<md-checkbox ng-model="ctrl.someBooleanValue"></md-checkbox> 

angular material md-checkboxangular material md-checkbox demo

+3

質問はAngular 2のヘルプを求めます。 "ng-model"はAngular 1構文です。 – ansorensen

1

入力

<input type="checkbox" (change)="selectionChange($event.srcElement, dataItem)"> 

変更イベント

selectionChange(input: HTMLInputElement) { 
    input.checked === true 
     ? doSomethingIfTrue() 
     : doSomethingIfFalse(); 
} 
0
enter code here 
をチェックlabel.id含む

submitForm(form:NgForm){ 
 
console.log(form.value); 
 
}
<div class="checkbox" *ngFor="#label of labelList"> 
 
     <div class="col-sm-4"> 
 
      <label><input type="checkbox" name='label{{label.Id}}' value="{{label.Id}}">{{ label.Name }} </label> 
 
     </div> 
 
</div>

使用name属性は、アレイ状にすべての値を取得しますので。

この情報はお役に立ちましたか?

関連する問題