要求是如果点击重置按钮,
这些代码适用于IE,Chrome和Safari。但不适用于Firefox!
在firefox中, [document.getElementById(' day')。click();在JAVASCRIPT上 第7行。] 通过以下步骤不会很好地工作。
此处未在Firefox上检查每日单选按钮。
(如果单选按钮被更改,还有一些其他程序。所以我需要触发每日单选按钮的onclick事件)
HTML
<input type="radio" name="sumType" value="1" id="day" tabindex="1">Daily
<input type="radio" name="sumType" value="2" id="month" tabindex="2" checked>Monthly
<input type="button" value="Disable" onclick="disableRadio()" id="rd1"/>
<input type="button" value="Reset" onclick="init()" id="rd2"/>
的Javascript
function disableRadio(){
$("input[type=radio]").attr('disabled','disabled');
}
function init(){
$("input[type=radio]").removeAttr("disabled");
document.getElementById('day').click();
}
DEMO&gt;&gt; https://jsfiddle.net/znjjjd6e/10/
答案 0 :(得分:1)
如果您只需要查看day
电台,
$('#day')[0].click();
<强> Fiddle 强>
或
document.getElementById('day').checked = true;
document.getElementById('day').click()
无法触发广播的实际鼠标点击事件,它会触发onclick处理程序 - Refer 。
此外,根据Rayon
的建议,使用prop()
会更好
答案 1 :(得分:0)
要检查任何单选按钮,只需执行以下操作:
DEMO:https://jsfiddle.net/hj5qw8w0/
function init(){
$("input[type=radio]").removeAttr("disabled");
el = window.document.getElementById('day'); // add this lines
el.checked = true; // add this lines - it will checked the day radio button
}
答案 2 :(得分:0)
您需要替换javascript语句: -
document.getElementById('day').click();
与
document.getElementById('day').checked=true;
并且代码也可以在Firefox中使用
答案 3 :(得分:0)
Firefox不支持click()。您可以查看SO question
因此document.getElementById('day').click();
无效
由于您使用的是jquery,因此您可以使用其中任何一个
function init(){
$("input[type=radio]").removeAttr("disabled");
//$('#day').trigger('click'); // either use this
$('#day').attr('checked',true); // or you can also use this
}
检查Demo