我有一个简单的解决方案应该是一个问题,我确信我只是遗漏了一些东西。
我有2列单选按钮,当单击列中的单选按钮时,我需要禁用相对列中的相应单选按钮,因此无法选择它。然后,如果选择了另一个按钮,请重新启用上一个按钮并禁用新的相反选择。
我已经为所有单选按钮提供了唯一的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;
}
}
答案 0 :(得分:3)
假设您将无线电定义为
<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';
}