javascript禁用单个单选按钮
我有一个简单的解决方案应该是一个问题,我肯定我只是错过了一些东西 我有两列单选按钮,当单击某列中的单选按钮时,我需要禁用另一列中相应的单选按钮,因此无法选择它。然后,如果选择了另一个按钮,则重新启用上一个按钮并禁用新的相反选择 我给了所有单选按钮一个唯一的id。第一列为first1、first2等,第二列为second1、second2等 在重新思考这个问题之后,我所采用的方法行不通,在网上搜索了一个小时之后,我还没有找到一种非jquery的方法来实现它。可以使用javascript吗 到目前为止,我所拥有的,我知道我已经偏离了底线,但我已经被我在这一页上遇到的各种问题弄得精疲力竭了:javascript禁用单个单选按钮,javascript,html,Javascript,Html,我有一个简单的解决方案应该是一个问题,我肯定我只是错过了一些东西 我有两列单选按钮,当单击某列中的单选按钮时,我需要禁用另一列中相应的单选按钮,因此无法选择它。然后,如果选择了另一个按钮,则重新启用上一个按钮并禁用新的相反选择 我给了所有单选按钮一个唯一的id。第一列为first1、first2等,第二列为second1、second2等 在重新思考这个问题之后,我所采用的方法行不通,在网上搜索了一个小时之后,我还没有找到一种非jquery的方法来实现它。可以使用javascript吗 到目前为
function disableForm(theform, theradio) {
//this was a start but does't save valid disabled fields
//it just enables everything
if (document.all || document.getElementById) {
for (i = 0; i < theform.length; i++) {
var formElement = theform.elements[i];
if (true) {
formElement.disabled = false;
}
}
}
document.getElementById(theradio).onclick = function(){
document.getElementById(theradio).disabled=true;
}
}
函数禁用形式(theform,theradio){
//这是一个开始,但不保存有效的禁用字段
//它只是让一切都能实现
if(document.all | | document.getElementById){
对于(i=0;i
假设您将收音机定义为
<table style="width: 100%;">
<tr>
<td>
<input id="Radio1_1" type="radio" name="Radio1" onchange="process(this)"/><br />
<input id="Radio1_2" type="radio" name="Radio1" onchange="process(this)"/><br />
<input id="Radio1_3" type="radio" name="Radio1" onchange="process(this)"/><br />
<input id="Radio1_4" type="radio" name="Radio1" onchange="process(this)"/><br />
<input id="Radio1_5" type="radio" name="Radio1" onchange="process(this)"/>
</td>
<td>
<input id="Radio2_1" type="radio" name="Radio2" /><br />
<input id="Radio2_2" type="radio" name="Radio2" /><br />
<input id="Radio2_3" type="radio" name="Radio2" /><br />
<input id="Radio2_4" type="radio" name="Radio2" /><br />
<input id="Radio2_5" type="radio" name="Radio2" />
</td>
</tr>
</table>
然后,可以通过一个简单的脚本实现目标:
function process(rb) {
//clearing previos disabled
for (i = 0; i < document.getElementsByName("Radio2").length; i++) {
document.getElementsByName("Radio2")[i].disabled = '';
}
document.getElementById(rb.id.replace('Radio1','Radio2')).disabled='disabled';
}
功能过程(rb){
//已禁用清除previos
对于(i=0;i
工作示例:是否可以定义其他组?第一个1和第二个1,第一个2和第二个2。。。这样,如果您选择了另一个按钮,该按钮将始终处于未选中状态?因此,您不必通过JavaScript禁用任何内容fiddle@xmashallax最多可以选择2个选项,但不能选择其中的2个。我不明白你的建议。你能发布HTML标记吗?请不要在我们面前描述HTML。在这里向我们展示实际的HTML代码,理想情况下,我们可以使用一个简单的()。描述用户交互以及发生了什么、如何失败以及您希望发生什么(响应什么)。很棒,但是当选择右栏按钮时,它不会禁用相应的左栏按钮。只需使用相同的逻辑,但应用相反的替换,例如有多个选项,例如定义函数
process2(rb)
在其中,只需反转“Radio2”和“Radio1”替换,并将其连接到右栏的选项是的,这就是我最后要做的。谢谢@Yuriy!