2016-09-19 9 views
4

私はラジオボタンの値を読み取るしようとしている - の角度2に、読むラジオボタンの値 - 角度2

index.htmlを

<input type="radio" id="options1" name="function" value="create"> 
<input type="radio" id="options2" name="function" value="continue"> 

index.ts

@Component({ 
    selector: 'function', 
    templateUrl: './client/components/function/index.html', 
    styleUrls: ['./client/components/function/index.css'], 
    providers: [], 
    directives: [ROUTER_DIRECTIVES] 
}) 

I ifラジオボタンの値がcreateかcontinueかに基づいてHTMLにdivを表示する必要があります。

私が試したもの:

  1. document.getElementByIdを使用してtypescriptファイル内のラジオボタンの値をフェッチ - プロパティcheckedが検出されていませんでした。
  2. をtypescriptに定義して、model.functionを使用して値を読み取ります。明らかに変数modelにアクセスできません。
  3. [(ngModel)]を使って試してみましたが、どちらもうまくいきませんでした。

これを解決する方法をご提案ください。

答えて

4

テンプレート:

<input type="radio" id="options1" [(ngModel)]="myRadio" value="create"> 
<input type="radio" id="options2" [(ngModel)]="myRadio" value="continue"> 

、あなたのコンポーネントでmyRadio変数を定義し、このようにそれを初期化します。 myRadio: string = ''

この変数は、選択した値を取得します。

と、はAngular2でDOM要素を制御するためのjavascriptない使用を行う、これは私が提案してみましたangular2哲学

+0

反対しているが、私は「の値を」プロパティを読み取ることができません 'と言うHTMLのエラーを取得しています定義されていない。また、Javascriptを使用してDOM要素を変更すべきでない場合、Angular 2でこれをどのように行うことができるかを提案してください。 –

+0

あなたのコンポーネントのコンストラクタ内の変数を初期化する必要があります: 'myRadio:string = ''' –

+0

(または例えば 'myRadio:string = 'create'のようなデフォルト値を入れてください) –

関連する問題