我有一组两个单选按钮,其中一个在页面加载时被检查.看来我不能把它改成第二个.如果重要的话,这个
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); ...