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