Javascript 通过获取对象获取材质ui复选框的复选框id

Javascript 通过获取对象获取材质ui复选框的复选框id,javascript,reactjs,react-jsx,material-ui,Javascript,Reactjs,React Jsx,Material Ui,我试图获取复选框的对象并从中提取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&

我试图获取复选框的对象并从中提取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>
这给了我一个错误。它表示未定义
切换字段
。 当检查它们时,我试图获取
q1
q2

我用基本html和js准备了一个类似的演示来测试我的逻辑。标记代码

<input id='c1' type='checkbox' onclick='handleClick(this);'>Check Me</label>
它给了我
c1
,这是我想要得到的


如何为jsx获得相同的结果?

在jsx的onClick中。当然,最好在构造函数中添加一个绑定,比如:this.toggleField=this.toggleField.bind(this)

您将获得toggleField(event),并在事件上尝试像event.target这样的target以从那里获得您的id


希望这能有所帮助。

非常感谢您的回复。但你能说得更具体一点吗?我对js有点陌生。在react中很可能根本不需要id,而是需要值。要获取any的值并知道它是哪个,它应该是ID,但是:在toggleField:toggleField(event){console.log(event.target.ID,event.target.value);}希望现在就可以解决这个问题。您希望跟踪组件状态中的内容,然后稍后对这些值进行处理。因此,与其为输入设置ID,不如直接为状态赋值。我尝试了代码,但仍然出现相同的错误“toggleField未定义”。我的代码:onClick={toggleField.bind(this)}和toggleField=(obj)=>{console.log(obj.target.id);}粘贴问题中的所有代码,我将粘贴问题的答案;
<input id='c1' type='checkbox' onclick='handleClick(this);'>Check Me</label>
handleClick = (cb) => {
  console.log("Clicked, new value = " + cb.id);
}