Javascript 如何使活动单选按钮不可点击

Javascript 如何使活动单选按钮不可点击,javascript,html,Javascript,Html,在Javascript/html基本页面中有一个带有两个选项的无线电输入表单。如何使激活或激活后的选项不可单击 <div class="unit_1"> <label><input checked name=unit onclick=Screen_Units(); type=radio value=SI>SI</label> </div> <div class="unit_2"> <label><i

在Javascript/html基本页面中有一个带有两个选项的无线电输入表单。如何使激活或激活后的选项不可单击

<div class="unit_1">
  <label><input checked name=unit onclick=Screen_Units(); type=radio value=SI>SI</label>
</div>
<div class="unit_2">
  <label><input name=unit onclick=Screen_Units() type=radio value=Engl>Imperia</label>
</div>

硅
帝国
试试这个:

功能屏幕_单位(){
//剩下的代码
document.getElementById(“first”).checked=true;
}
SI

Imperia
如果您想使用完整的无javascript选项,您只能使用CSS3:

input[type=radio]:checked {
  position: relative;
  pointer-events: none;
}

input[type=radio]:checked:before {
  content:" ";
  display:block;
  position:absolute;
  top:0;left:0;right:0;bottom:0;
  z-index:10;
}
这将防止在活动收音机上发出咔嗒声


jsIDLE:

请尝试此操作。替换为单选按钮

$(文档).ready(函数(){
$(“.check”)。单击(函数(){
$(“.check”).attr(“已禁用”,true);
});
});

试试看:

使用纯javascript:


硅
帝国
var ele=document.getElementsByName(“单位”);
功能屏幕单元(t){

对于(var i=0;i如何隐藏另一个

功能屏幕单元(但){
var buts=document.getElementsByName(but.name);
var val=但是.value;
var div=(val==buts[0]。value)?最多(buts[1],“div”):最多(buts[0],“div”);
div.style.display=“无”;
}
函数上限(el,标记名){
标记名=标记名.toLowerCase();
while(el&&el.parentNode){
el=el.parentNode;
if(el.tagName&&el.tagName.toLowerCase()==标记名){
返回el;
}
}
返回null;
}

硅
帝国

正如@boldewyn在评论中提到的“使用onchange代替onclick”解决了我的问题

<div class="unit_1">
<label><input checked name=unit onchange=Screen_Units(); type=radio value=SI>SI</label>
</div>
<div class="unit_2">
<label><input name=unit onchange=Screen_Units() type=radio value=Engl>Imperia</label>
</div>

硅
帝国

感谢大家

add
disabled
?如
disabled input不会发送到服务器您是否尝试过使用
onchange
而不是
onclick
?通常只有选中单选按钮时才会触发
change
事件,而不是在取消选中该按钮时。在选择之前,我不想停用任何选项ing。因为我的页面是一个JS计算器,每次点击选项都会更改计算和单位。另一方面,我想在选择“已禁用”后禁用每个选项如果您不是在
中,而是在JS中获取输入值,则可以工作。问题没有标记为jQuery,请对您的答案进行共振峰分析,并可能提供一个片段([]按钮在编辑器中)@mplungjan:提到了Javascript标签。所以我给出了答案。我对这一点非常陌生。从下次开始,我将使用代码片段改进我的答案:)