| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4860 人关注过本帖
标题:求助一个checkbox的相关问题
只看楼主 加入收藏
无敌暴龙战士
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2022-8-25
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
求助一个checkbox的相关问题
关于我有五个checkbox控件,当我点击完两个checkbox控件以后,我点击第三个的时候我想要取消前面两个里面value值比较小的那个我大致该咋写?
搜索更多相关主题的帖子: 点击 控件 比较 取消 checkbox 
2022-08-25 20:01
apull
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:三体星系
等 级:版主
威 望:216
帖 子:1479
专家分:9035
注 册:2010-3-16
收藏
得分:10 
前2个控件是固定的还是不固定?
不固定的话,用2个变量保存最后点击的2个控件好了。
t1=t2=null

click中,判断t1,t2是否为null,如果为null,则
t1=t2
t2=b
如果t1,t2不为null,比较t1,t2并设置值,同时令
t1=小的控件。
t2=click控件


[此贴子已经被作者于2022-8-26 10:13编辑过]

收到的鲜花
2022-08-26 10:08
无敌暴龙战士
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2022-8-25
收藏
得分:0 
回复 2楼 apull
五个checkbox控件都是固定的,但是我现在不懂的是我用什么函数来取消我之前点击的控件,我的function onclick()里面只有一个参数,然后所有的checkbox控件的name是一样的,没有id
2022-08-26 10:58
apull
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:三体星系
等 级:版主
威 望:216
帖 子:1479
专家分:9035
注 册:2010-3-16
收藏
得分:10 
供参考
程序代码:
<body>
    <input type="checkbox" name="chk" value="a" onclick="Cli(this)">a
    <input type="checkbox" name="chk" value="b" onclick="Cli(this)">b
    <input type="checkbox" name="chk" value="c" onclick="Cli(this)">c
    <input type="checkbox" name="chk" value="d" onclick="Cli(this)">d
    <input type="checkbox" name="chk" value="e" onclick="Cli(this)">e

    <script type="text/javascript">

        function Cli(obj) {
            if (obj.checked == false) return;

            var chks = document.getElementsByName('chk');
            var ar = [];
            chks.forEach(element => {
                if (element != obj && element.checked)
                    ar.push(element);
            });

            if (ar.length < 2) return;

            if (ar[0].value < ar[1].value)
                ar[0].checked = false;
            else
                ar[1].checked = false;
        }
    </script>
</body>
2022-08-26 14:51
无敌暴龙战士
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2022-8-25
收藏
得分:0 
回复 4楼 apull
在你的基础上我稍微改动了一下,但是还没有达到我预期的效果,我也不知道我是什么地方出了问题
<label>
    <input type="checkbox" value="2021-12-20" name="compareDate" onchange="onClickCheck(this)" > 2021-12-20
</label>
<label>
    <input type="checkbox" value="2021-11-20" name="compareDate" onclick="onClickCheck(this)"> 2021-11-20
</label>
<label>
    <input type="checkbox" value="2021-10-20" name="compareDate" onclick="onClickCheck(this)"> 2021-10-20
</label>
<label>
    <input type="checkbox" value="2021-09-20" name="compareDate" onclick="onClickCheck(this)"> 2021-09-20
</label>
<label>
    <input type="checkbox" value="2021-08-20" name="compareDate" onclick="onClickCheck(this)"> 2021-08-20
</label>

                        
                </div>
            </div>
        </div>
    </div>
</div>

    <script>

    function onClickCheck(obj)
    {
        if (obj.checked == false) return;

        var chks = document.getElementsByName('chk');
        var ar = [];
        chks.forEach(element => {
            if (element != obj && element.checked)
                ar.push(element);
        });

        if (ar.length < 2) return;

        if (new Date(ar[0].value ) < new Date(ar[1].value))
            ar[0].checked = false;
        else
            ar[1].checked = false;
        
    };
2022-08-26 17:57
apull
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:三体星系
等 级:版主
威 望:216
帖 子:1479
专家分:9035
注 册:2010-3-16
收藏
得分:0 
回复 5楼 无敌暴龙战士
document.getElementsByName('chk');
把这name改成你的。
2022-08-26 19:03
无敌暴龙战士
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2022-8-25
收藏
得分:0 
回复 4楼 apull
谢谢大佬,突然发现我的div少写了一个
2022-08-26 19:18
快速回复:求助一个checkbox的相关问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015955 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved