我一直试图找出问题的解决方案几个小时了。我仍然是Javascript的新手,所以如果我听起来很愚蠢,请原谅我。可悲的是,我不知道jQuery,我开始认为它阻止我提出一个解决方案。
我要做的是有一个启用禁用单选按钮的复选框。如果这是有道理的。
示例:
我希望能够点击第一个复选框(选项1)来启用子选项。如果未单击,则应禁用子选项。 : - )
这是我到目前为止所得到的:
<script>
function enableRadios(x) {
var formElement = eval("checkbox" + x)
if (formElement[0].disabled) {
formElement[0].disabled = false
formElement[1].disabled = false
} else {
formElement[0].disabled = true
formElement[1].disabled = true
}
}</script>
<body><input type="checkbox" name="main" value="main" onClick="enableRadios(x)">
<input disabled type="radio" value="1" name="x">
<input disabled type="radio" value="2" name="x">
<input disabled type="radio" value="3" name="x">
<input disabled type="radio" value="4" name="x">
<input disabled type="radio" value="5" name="x">
<input disabled type="radio" value="6" name="x"></body>
我真的很感谢你的帮助!
答案 0 :(得分:2)
您需要传递包含广播名称'x'
的字符串,而不是传递变量x
:
<script>
function toggleRadios(name) {
var elems = document.getElementsByName(name);
for(i=0; i<elems.length; i++) {
elems[i].disabled = !elems[i].disabled;
}
}
</script>
<input type="checkbox" name="main" value="main" onclick="toggleRadios('x')">
<input disabled type="radio" value="1" name="x">
<input disabled type="radio" value="2" name="x">
<input disabled type="radio" value="3" name="x">
<input disabled type="radio" value="4" name="x">
<input disabled type="radio" value="5" name="x">
<input disabled type="radio" value="6" name="x">