Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.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 仅在启用复选框A时启用复选框B,反之亦然_Javascript_Jsp_Dom_Jsp Tags - Fatal编程技术网

Javascript 仅在启用复选框A时启用复选框B,反之亦然

Javascript 仅在启用复选框A时启用复选框B,反之亦然,javascript,jsp,dom,jsp-tags,Javascript,Jsp,Dom,Jsp Tags,我有两列带有可预测名称的复选框。当a列中的复选框未选中时,如何禁用B列中的复选框,并且仅在启用复选框a的第一个复选框时才启用它 <dmf:checkbox name="someNameAColumnNumber" value="true" onclick = "enableColumnBCheckBox" runatclient="true" /> 是否有类似于on checkvalue=true的内容将等效复选框B设置为true,反之亦然 编辑复选框不在表单中

我有两列带有可预测名称的复选框。当a列中的复选框未选中时,如何禁用B列中的复选框,并且仅在启用复选框a的第一个复选框时才启用它

 <dmf:checkbox 
 name="someNameAColumnNumber"
 value="true" 
 onclick = "enableColumnBCheckBox" runatclient="true" 
 />

是否有类似于on checkvalue=true的内容将等效复选框B设置为true,反之亦然

编辑复选框不在表单中。。它们位于嵌套表中。

EDIT2应该只在IE6中工作(我知道……)不寻求跨浏览器兼容性

您当前是否使用javascript框架?如果不是,我建议使用jQuery。这可以在纯javascript中完成,并且很容易获得几乎所有的交叉浏览器支持,但是对于真正的交叉浏览器支持,我绝对建议使用现有的框架。假设jQuery:

$('#checkboxA').click(function() {
    $('#checkboxB')[0].disabled = !this.checked;
});

找到了一种可以作为onclick事件使用的方法

function toggleCheckBoxB(source) {

           var cbAID= source.id;

            var cbBID;
            cbBID= cbAID.replace("A", "B");


            if ( source.checked == 1 ) 
            {
                document.getElementById(cbBID).disabled = false;
            }
            else 
            {
                document.getElementById(cbBID).disabled = true;
                document.getElementById(cbBID).checked = 0;
            }

         }

这听起来像是一个UI,它将受益于拥有多组单选按钮(a/B/None),而不是拥有与普通复选框不太一样的复选框(需要JS来实现正常状态检查)。@David Dorward:不,这根本不是重点。如果B是a的一个子选项,我认为这有一个相当简单的应用程序。否则,Ayrad可能希望禁用以两种方式工作,而这一点根本没有被要求。相反,想象一个复选框写着“你可以给我发送电子邮件”,它启用复选框“每月一次”、“当我收到私人消息时”、“等等”是的David Hedlund,第二个复选框没有意义,除非第一个复选框是.or
$(“#checkboxB').attr('disabled',!this.checked”)