【问题标题】:Check and uncheck checkboxes with different checkbox names选中和取消选中具有不同复选框名称的复选框
【发布时间】:2014-03-12 02:44:49
【问题描述】:

我需要您的帮助来解决以下代码中的问题。我有 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>

请帮助我解决代码。

【问题讨论】:

    标签: javascript checkbox


    【解决方案1】:

    这可能是你想要的

    <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;
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-25
      • 1970-01-01
      相关资源
      最近更新 更多