Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.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 使复选框显示div_Javascript_Html - Fatal编程技术网

Javascript 使复选框显示div

Javascript 使复选框显示div,javascript,html,Javascript,Html,这里我试图通过选择给定的文本框来显示divs ClinicFieldSet和HospitalFieldset。如果选择了两者,则应同时显示ClinicFieldset和HospitalFieldset,如果选中其中一个复选框,则应显示选择了哪个div 我的脚本的问题是,当单击其中一个复选框时,两个复选框都被选中,并且不能同时取消选中它们。因此,请给我一个解决此问题的建议:( 我在两个复选框中都使用了Javascript onClick来应用于这两个复选框 <script type="tex

这里我试图通过选择给定的文本框来显示divs ClinicFieldSet和HospitalFieldset。如果选择了两者,则应同时显示ClinicFieldset和HospitalFieldset,如果选中其中一个复选框,则应显示选择了哪个div

我的脚本的问题是,当单击其中一个复选框时,两个复选框都被选中,并且不能同时取消选中它们。因此,请给我一个解决此问题的建议:(

我在两个复选框中都使用了Javascript onClick来应用于这两个复选框

<script type="text/javascript>

   var clinic = document.getElementById('clinic');
    var visit = document.getElementById('visit');

    if((clinic.checked = true) && (visit.checked = true) )
        {
        document.getElementById('ClinicFieldSet').style.display='block';
        document.getElementById('HospitalFieldSet').style.display='block';
        }
        else if((clinic.checked = true) && (visit.checked = false))
        {
        document.getElementById('ClinicFieldSet').style.display='block';
        document.getElementById('HospitalFieldSet').style.display='none';
        }
    else if((clinic.checked = false) && (visit.checked = true))
        {
        document.getElementById('ClinicFieldSet').style.display='none';
        document.getElementById('HospitalFieldSet').style.display='block';
        }
        else
        {   
        document.getElementById('ClinicFieldSet').style.display='none';
        document.getElementById('HospitalFieldSet').style.display='none';
        }

在if语句中使用
=
相等运算符


单个
=
用于赋值,而不是测试其相等性。

在if语句中使用
=
相等运算符

单个
=
用于赋值,而不是测试其相等性。

试试这个

if(clinic.checked == true)
        {
        document.getElementById('ClinicFieldSet').style.display='block';
        }
        else
        {
        document.getElementById('ClinicFieldSet').style.display='none';
        }
if(visit.checked == true)
        {
        document.getElementById('HospitalFieldSet').style.display='block';
        }
        else
        {   
        document.getElementById('HospitalFieldSet').style.display='none';
        }
试试这个

if(clinic.checked == true)
        {
        document.getElementById('ClinicFieldSet').style.display='block';
        }
        else
        {
        document.getElementById('ClinicFieldSet').style.display='none';
        }
if(visit.checked == true)
        {
        document.getElementById('HospitalFieldSet').style.display='block';
        }
        else
        {   
        document.getElementById('HospitalFieldSet').style.display='none';
        }

我可以推荐一种修改过的方法(不使用在线点击处理程序)和稍微修改过的html,只是为了让JavaScript更简单一些:

HTML:

临床实践
探访医院
临床信息
医院信息
JavaScript:

document.getElementById('hospitalInfo').style.display = 'none';
document.getElementById('clinicInfo').style.display = 'none';

var inputs = document.getElementsByTagName('input');

function dispp() {
    if (this.checked) {
        document.getElementById(this.id + 'Info').style.display = 'block';
    }
    else {
        document.getElementById(this.id + 'Info').style.display = 'none';
    }
}

for (i = 0; i < inputs.length; i++) {
    if (inputs[i].type.toLowerCase() == 'checkbox') {
        inputs[i].onchange = dispp;
    }
}
document.getElementById('hospitalInfo').style.display='none';
document.getElementById('clinicInfo').style.display='none';
var inputs=document.getElementsByTagName('input');
函数dispp(){
如果(选中此项){
document.getElementById(this.id+'Info').style.display='block';
}
否则{
document.getElementById(this.id+'Info').style.display='none';
}
}
对于(i=0;i

.

为了使JavaScript更简单,我是否可以建议对html稍加修改的方法(不使用在线点击处理程序)进行修改:

HTML:

临床实践
探访医院
临床信息
医院信息
JavaScript:

document.getElementById('hospitalInfo').style.display = 'none';
document.getElementById('clinicInfo').style.display = 'none';

var inputs = document.getElementsByTagName('input');

function dispp() {
    if (this.checked) {
        document.getElementById(this.id + 'Info').style.display = 'block';
    }
    else {
        document.getElementById(this.id + 'Info').style.display = 'none';
    }
}

for (i = 0; i < inputs.length; i++) {
    if (inputs[i].type.toLowerCase() == 'checkbox') {
        inputs[i].onchange = dispp;
    }
}
document.getElementById('hospitalInfo').style.display='none';
document.getElementById('clinicInfo').style.display='none';
var inputs=document.getElementsByTagName('input');
函数dispp(){
如果(选中此项){
document.getElementById(this.id+'Info').style.display='block';
}
否则{
document.getElementById(this.id+'Info').style.display='none';
}
}
对于(i=0;i
.

var form=document.forms.add form.elements.check.addEventListener('change',函数(e){ e、 预防默认值() var check=document.querySelector(“.check”) if(check.checked=true) { document.querySelector('.inside').style.display='block' } 否则{ document.querySelector('.inside').style.display='none' } })var form=document.forms.add form.elements.check.addEventListener('change',函数(e){ e、 预防默认值() var check=document.querySelector(“.check”) if(check.checked=true) { document.querySelector('.inside').style.display='block' } 否则{ document.querySelector('.inside').style.display='none' } })