html控制checkbox选择个数

代码如下:上述代码的效果是:select共1到12个选项,根据选项个数选择下面的复选框。如果选择了5,那下面复选框最多任意选5个,不然就提示选多了。选择1到9复选框的时候... 代码如下:

上述代码的效果是:select共1到12个选项,根据选项个数选择下面的复选框。如果选择了5,那下面复选框最多任意选5个,不然就提示选多了。选择1到9复选框的时候没问题,但当选择10,11,12复选框,点击确认的时候,最后显示的效果是:

只要选择10,11或12 1,2的复选框就会跟着被选择,javascript应该怎么修改
谢谢。
展开
 我来答
匿名用户
推荐于2016-09-03
展开全部
<!DOCTYPE html>
<html>

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title></title>
    <script>
        onload = function() {
            var sel = document.getElementsByName("BASE_Cycle")[0];
            var cks = document.getElementsByName("Month");
            sel.onchange = function() {
                for (var j = 0; j < cks.length; j++) {
                    var ck = cks[j];
                    ck.checked = false;
                }
            }
            for (var i = 0; i < cks.length; i++) {
                (function(i) {
                    cks[i].onclick = function() {
                        if (!this.checked) return;
                        var len = sel.value * 1;
                        var sum = 0;
                        for (var j = 0; j < cks.length; j++) {
                            var ck = cks[j];
                            if (ck.checked) {
                                sum++;
                            }
                        }
                        if (/^(9|10|11)$/.test(i)) {
                            cks[0].checked = cks[1].checked = true;
                        } else if (sum > len) {
                            alert("最多任意选" + len + "个");
                            this.checked = false;
                        }
                    }
                })(i);
            }
        }
    </script> 
</head>

<body>
    <select name="BASE_Cycle">
        <option value="0">0</option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="6">6</option>
        <option value="7">7</option>
        <option value="8">8</option>
        <option value="9">9</option>
        <option value="10">10</option>
        <option value="11">11</option>
        <option value="12">12</option>
    </select>
    <br />
    <input type="checkbox" name="Month" />1
    <input type="checkbox" name="Month" />2
    <input type="checkbox" name="Month" />3
    <input type="checkbox" name="Month" />4
    <input type="checkbox" name="Month" />5
    <input type="checkbox" name="Month" />6
    <input type="checkbox" name="Month" />7
    <input type="checkbox" name="Month" />8
    <input type="checkbox" name="Month" />9
    <input type="checkbox" name="Month" />10
    <input type="checkbox" name="Month" />11
    <input type="checkbox" name="Month" />12</body>

</html>
追问

你误会我的意思了,我重新写了代码,你运行一下就知道什么问题了,代码如下:

选择1到9复选框的时候没有问题,选择10,11,12的时候有问题。你试一下select选3,然后复选框只选10,11,12,按submit,结果是1,2复选框也被选了,但我们没选1,2复选框啊,应该怎么改?

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式