我有一组两个单选按钮,其中一个在页面加载时被检查.看来我不能把它改成第二个.如果重要的话,这个
HTML是由reactjs构建的. chrome上的标记如下所示:
<fieldset data-reactid=".0.0.0.0.0.0.1">
<label for="coop-radio-btn" data-reactid=".0.0.0.0.0.0.1.0">
<span data-reactid=".0.0.0.0.0.0.1.0.0">To a Cooperative</span>
<input type="radio" name="requestOnBehalfOf" value="coop" id="coop-radio-btn" data-reactid=".0.0.0.0.0.0.1.0.1">
</label>
<label for="union-radio-btn" data-reactid=".0.0.0.0.0.0.1.1">
<span data-reactid=".0.0.0.0.0.0.1.1.0">Additional Request</span>
<input type="radio" name="requestOnBehalfOf" value="union" checked="" id="union-radio-btn" data-reactid=".0.0.0.0.0.0.1.1.1">
</label>
</fieldset>
解决方法
更新
这样做的“反应方式”是将defaultChecked = {true}添加到所需的输入.其他方式如下.
这样做的“反应方式”是将defaultChecked = {true}添加到所需的输入.其他方式如下.
我其实也面临着同样的情况.我所做的是在父React组件的componentDidMount lifecycle method中找到输入标签,然后设置checked属性.
如果我们谈论香草JS,您可以使用querySelector找到第一个无线电输入.像这样:
var Form = React.createClass({
componentDidMount: function(){
this.getDOMNode().querySelector('[type="radio"]').checked = "checked";
},render: function(){
//your render here
}
});
如果你使用jQuery,可以这样做:
...
$(this.getDOMNode()).find('[type="radio"]').eq(0).prop("checked",true);
...