在 React.js 中检索复选框的值

IT技术 javascript reactjs checkbox
2021-05-15 23:51:46

我想在选中复选框时检索复选框的值。

我正在使用这个“ http://react-component.github.io/checkbox/ ”。

我的代码看起来像这样。

<div className="user_box">
    { check.map((values , i)=> {
        return <Checkbox
            name = "checkbox"
            onChange={this.checkvalue.bind(this)}
            value={values.username} 
        />
    })}
</div>

我的功能:

checkvalue(e){
    // var all_users = [];
    // var value = this.checkbox.value;
    // all_users.push(value);
    // console.log(all_users);

    console.log('checkbox checked:', (e.target.checked));
}

我不明白如何检索复选框的值。

4个回答

您需要将“e,合成事件参数传递给您的处理程序”:

handleChange(e) {
  let isChecked = e.target.checked;
  // do whatever you want with isChecked value
}

render() {
  // ... your code here
  return (
    {/* your other jsx here */}
    <Checkbox otherProps onChange={e => this.handleChange(e)} />
    {/* your other jsx here */}
  );
}

使用 Synthetic 事件参数,这是一个示例:

const element1 = "boy";
const element2 = "girl";

<input
 type="checkbox"
 name={element1}
 value={element1}
 onChange={this.handleChange}
/>
<label for="element" style={{ fontSize: 35 }}>
{element2}
 </label>

<input
 type="checkbox"
 name={element2}
 value={element2}
 onChange={this.handleChange}
/>
<label for="element" style={{ fontSize: 35 }}>
{element2}
 </label>




handleChange = (e) => {
// to find out if it's checked or not; returns true or false
const checked = e.target.checked;

// to get the checked value
const checkedValue = e.target.value;

// to get the checked name
const checkedName = e.target.name;

//then you can do with the value all you want to do with it.
};

试试这个 :

getChckeboxValue(event) {
    const value = event.target.value;
}

在渲染中:

<input onClick={this.getChckeboxValue.bind(this)} type="checkbox" value="Text" />

我们可以通过声明onChange={this.likeClicked} defaultChecked={false}输入元素属性来获取复选框值

  constructor(props){
    super(props)
    this.likeClicked = this.likeClicked.bind(this)
  }

  likeClicked(){
    console.log(event.target.checked, event.target.id);
  }

  render(){
    return (
      <div className='px-3'>
          <div className='item-header item-wrapper cirle'>
            <input type="checkbox" onChange={this.likeClicked}  defaultChecked={false}  className="checkbox" id={`checkbox_${this.props.product.sku}`} />
            <label htmlFor={`checkbox_${this.props.product.sku}`}><HeartIcon className="heart-svg"></HeartIcon></label>
          </div>
      </div>
    );
  }