reactjs 生成的 radio 点击无反应

var OpenCard = React.createClass({
   getInitialState:function(){
       return {index : 1}
   },
   render:function(){
       var index = this.state.index;
       return (
           <div className="form_box">
                <div className="from_lab">
                    <span className="lab_head">性 别 :</span>
                    <div className="z-radio-box">
                        <label for="sex_0">
                            <input type="radio" id="sex_0"  value="0" name="sex"  /> 男
                        </label>
                        <label for="sex_1">
                            <input type="radio" id="sex_1"  value="1" name="sex" checked /> 女
                        </label>
                    </div>
                </div>
               <div className="from_lab">
                   <span className="lab_head">手机号 :</span>
                   <input type="tel" className="text"  placeholder="输入11位手机号" />
               </div>
               <div className="from_lab">
                   <span className="lab_head">姓名 :</span>
                   <input type="text" className="text"  placeholder="" />
               </div>
               <div className="from_lab">
                   <span className="lab_head">卡号 :</span>
                   <input type="number" className="text"  placeholder="" />
               </div>
               <div className="from_lab">
                   <div className="member_msg"></div>
               </div>
           </div>
       )
   }
});

在点击男女 radio 的时候 没法切换

求大神指导

阅读 7.2k
2 个回答

方法一:写死

<div className="z-radio-box">
    <label for="sex_0">
        <input type="radio" id="sex_0"  value="0" name="sex" defaultChecked/> 男
    </label>
    <label for="sex_1">
        <input type="radio" id="sex_1"  value="1" name="sex" /> 女
    </label>
</div>

方法二:用state来控制

<div className="z-radio-box">
    <label for="sex_0">
        <input type="radio" id="sex_0"  value="0" name="sex" defaultChecked={this.state.maleChecked} /> 男
    </label>
    <label for="sex_1">
        <input type="radio" id="sex_1"  value="1" name="sex" defaultChecked={this.state.femaleChecked}/> 女
    </label>
</div>

这个问题主要是 用defaultChecked 代替 checked就ok了.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进