Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript启用和禁用复选框_Javascript_Forms - Fatal编程技术网

使用javascript启用和禁用复选框

使用javascript启用和禁用复选框,javascript,forms,Javascript,Forms,几个小时以来,我一直在努力找出解决我问题的办法。我对Javascript还是相当陌生,所以如果我听起来很愚蠢,请原谅我。遗憾的是,我不知道jQuery,我开始认为它阻碍了我想出一个解决方案 我想做的是有一个复选框来启用禁用的单选按钮。如果这有道理的话 例如: 选择1 子选择 子选择 子选择 我希望能够单击第一个复选框(选项1)以启用子选项。如果未单击,则应禁用子选项。:-) 以下是我到目前为止得到的信息: <script> function enableRadios(x) {

几个小时以来,我一直在努力找出解决我问题的办法。我对Javascript还是相当陌生,所以如果我听起来很愚蠢,请原谅我。遗憾的是,我不知道jQuery,我开始认为它阻碍了我想出一个解决方案

我想做的是有一个复选框来启用禁用的单选按钮。如果这有道理的话

例如:

  • 选择1
  • 子选择
  • 子选择
  • 子选择
我希望能够单击第一个复选框(选项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>

功能启用收音机(x){
var formElement=eval(“复选框”+x)
如果(formElement[0]。已禁用){
formElement[0]。已禁用=false
formElement[1]。已禁用=false
}否则{
formElement[0]。已禁用=true
formElement[1]。已禁用=true
}
}

我真的很感谢你的帮助

您需要传递包含单选名称的字符串
'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">

功能切换收音机(名称){
var elems=document.getElementsByName(名称);

对于(i=0;iHi,这是一个很好的问题,Javascript不是我的专长,所以我所能做的就是让您参考这个类似的问题,也许您可以将其继承到您的工作中?我的假设是这部分是错误的,但我同样不使用Javascript,“if(formElement[0].disabled){formElement[0].disabled=false formElement[1].disabled=false}else{formElement[0].disabled=true formElement[1].disabled=true}“你太棒了!非常感谢!+1:传递
这个不是更好吗?在
切换无线电
函数中将
作为参数选中,并根据该值启用或禁用。