2017-03-12 12 views
0

チェックボックスのオブジェクトを取得し、そこからIDを抽出しようとしています。 私のマークアップコード:オブジェクトを取得して、材料チェックボックスのチェックボックスIDを取得します。

<div style={{display: 'inline-block', }}><Checkbox id='q1' onclick={toggleField(this)}/></div> 
<div style={{display: 'inline-block', }}><Checkbox id='q2' onCheck={toggleField(this)}/></div> 

機能:

toggleField = (obj) => { 
    console.log("id : " + obj.id); 
    } 

Aaaannndこれは私にエラーを与えます。それはtoggleField is not definedと言います。 私はq1またはq2にチェックを入れようとしています。

ロジックをテストするために、基本的なhtmlとjsで同様のデモを用意しました。マークアップコード

<input id='c1' type='checkbox' onclick='handleClick(this);'>Check Me</label> 

JSコード

handleClick = (cb) => { 
    console.log("Clicked, new value = " + cb.id); 
} 

そして、それは私が取得しようとしていますしている私にc1を与えます。

jsxで同じ結果を得るにはどうすればよいですか?

+0

解決済み:console.log(obj.target.id); –

答えて

0

JSXではonClickです。もちろん、次のようにコンストラクタにバインドを追加するといいでしょう:this.toggleField = this.toggleField.bind(this)

あなたはtoggleField(イベント)を取得し、イベントではevent.targetのようなターゲットを試しますそこからあなたのIDに到達する。

これが役に立ちます。

+0

お返事ありがとうございました。しかし、少し具体的になりますか?私はjsに新しいです。 –

+0

あなたは反応のidを必要とせず、むしろその値を使う可能性が高いです。 任意の値を取得し、それがIDであるべきである知っている、それだけには:

とtoggleFieldで: toggleField(イベント){ にconsole.log(event.target.id、event.target.value) ; } これはあなたのためにこれを解決することを願っています。 – Zri

+0

コンポーネントの状態のものを追跡し、後で値で何かをしたいとします。代わりにあなたの入力にIDをasisgningの代わりに、あなたの状態に直接値を割り当てる – Zri

関連する問題