选中并取消选中具有不同复选框名称的复选框

时间:2014-03-11 18:25:33

标签: javascript checkbox

我需要您的协助,以解决以下代码中的问题。我有3个复选框。第一个复选框显示" ALL"第二个是显示" A"值和第三个显示" B"值。

我尝试编写一个javascript来检查和取消选中文本框。如果选择是" ALL",则应取消选中A和B文本框,如果选择是A或B或两者,则" ALL"应该取消选中。但是,当我想要选择A或B时,以下代码不起作用,除非我取消选中ALL。

我不想给他们相同的名字,每个复选框都有不同的名字。

<form name="test">
    <input type="checkbox" name="c1" id ="ALL" onclick="myFunction()" checked/>
    <input type="checkbox" name="c2" id ="A" onclick="myFunction()"/>
    <input type="checkbox" name="c3" id ="B" onclick="myFunction()"/>
</form>

<script type="text/javascript">
    function myFunction()
    {
        if ( document.test.c1.checked == true)
        {
            document.getElementById("2").checked = false;
        }
        else if ( document.test.c2.checked == true )
        {
            document.getElementById("1").checked = false;
        }
    }
</script>

请帮助我解决问题。

1 个答案:

答案 0 :(得分:0)

这可能就是你想要的

<input type="checkbox" name="c1" id ="ALL" onclick="myFunction(this)" checked/>
<input type="checkbox" name="c2" id ="A" onclick="myFunction(this)" />
<input type="checkbox" name="c3" id ="B" onclick="myFunction(this)" />

myFunction()来电更改为myFunction(this)

Javascript是

function myFunction(me){
    if( me.checked ){
        if( me.id == "ALL" ){
            document.getElementById("A").checked = false;
            document.getElementById("B").checked = false;
        }
        if( me.id == "A" || me.id == "B" ){
            document.getElementById("ALL").checked = false;
        }
    }
}