2017-09-21 21 views
0

이것은 간단해야하지만 jQuery를 사용하고 싶지 않습니다.
특정 라디오 버튼 컨트롤을 설정해야합니다. 나는 그것의 ID를 가지고, 그래서 시도 : 는 "속성 유형에 존재하지 않는 '확인' ':각도 4는 자바 스크립트에서 라디오 버튼을 설정하기 만하면됩니다.

let radiobutton = document.getElementById("Standard"); 
radiobutton.checked = true; 

난 그냥 위, 하지만, 타이프 라이터/자바 스크립트가 나에게 오류 메시지를 제공합니다 같은 웹 사례를 발견 HTMLElement ' "

아이디어가 있으십니까?

도움 주셔서 감사합니다.

+0

가 왜 각도 바인딩을 사용할 수 있나요? –

+0

그것은 Angular2에서 일을하는 올바른 방법이 아닙니다. 그러나 https://www.w3schools.com/jsref/met_element_setattribute.asp를 찾으십시오. –

+0

각도로 "올바르게"수행하는 방법에 대한 도움을받을 수 있습니다. 나는 그것에 대해 읽는 것을 계속하지만 구속력이 있다는 것을 이해하지 못한다. 침몰하지 않았다. 더 말할 수 있니? –

답변

1

document.getElementById를 수행하는 대신 @ViewChild와 템플릿 변수를 사용하십시오. 여기 은 예입니다

HTML :

<input #checkbox1 type="checkbox" [checked]="true" (change)="onChange(1, checkbox1)"/>{{name1}} 
<br> 
<input #checkbox2 type="checkbox" (change)="onChange(2, checkbox2)"/>{{name2}} 

타이프 :

name1 = 'Angular 2'; 
    name2 = 'Angular 4'; 

    @ViewChild("input1") input1; 
    @ViewChild("input2") input2; 

    ngOnInit(){ 
    this.input1.checked = true; 
    console.log("Checkbox1 is checked - ", this.input1.checked); 
    console.log("Checkbox2 is checked - ", this.input2.checked); 

    } 

    onChange(checkbox, item){ 
    console.log("Checkbox%d was checked", checkbox); 
    console.log("Checkbox%d is checked - ",checkbox, item.checked); 

    } 

Stackblitz example