首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >复选框警报,选择最多4项。

复选框警报,选择最多4项。
EN

Stack Overflow用户
提问于 2015-04-21 20:49:47
回答 1查看 100关注 0票数 0

我有一张带有复选框的表格。最多4项需要选择。如果选择更多,则会弹出警报。当我使用相同的name=时,我会让它工作“,但这确实需要改变。有人知道怎么做吗?

我拥有的脚本:(ckb需要是ckb1 + ckb2 +ckb3.)

代码语言:javascript
复制
function chkcontrol(j) {
    var total=0;
    for(var i=0; i < document.form1.ckb.length; i++){
        if(document.form1.ckb[i].checked){
            total =total +1;}
        if(total > 4){
            alert("Selecteer a.u.b. maximaal 4 workshops") 
            document.form1.ckb[j].checked = false ;
            return false;
        }
    }
}

我的表单html代码:

代码语言:javascript
复制
<form enctype="application/x-www-form-urlencoded" method="post" name="form1">
<span>Workshops selection: (max 4)</span><br><br>

<input type="checkbox" name="ckb1" value="blabla first" onclick='chkcontrol(0)'; /> blabla first<br>
<input type="checkbox" name="ckb2" value="blabla 2" onclick='chkcontrol(1)'; /> blabla 2<br>
<input type="checkbox" name="ckb3" value="blabla 3" onclick='chkcontrol(2)'; /> blabla 3<br>
<input type="checkbox" name="ckb4" value="blabla 4" onclick='chkcontrol(3)'; /> blabla 4<br>
<input type="checkbox" name="ckb5" value="blabla 5" onclick='chkcontrol(4)'; /> blabla 5<br>
<input type="checkbox" name="ckb6" value="blabla 6" onclick='chkcontrol(5)'; /> blabla 6<br>
<input type="checkbox" name="ckb7" value="blabla 7" onclick='chkcontrol(6)'; /> blabla 7<br>

<input class="btn" class="cursor" name="Sent" type="submit" value="Sent" />
</form>

我的小提琴:https://jsfiddle.net/usq2aeLL/1/

工作,但需要不同的name="xxx":https://jsfiddle.net/usq2aeLL/2/

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-21 20:53:26

使用公共类来选择元素。

代码语言:javascript
复制
<input type="checkbox" name="ckb1" class="myBox" value="blabla first" />

然后

代码语言:javascript
复制
function chkcontrol() {
    var total = 0;
    var elems = document.querySelectorAll('.myBox');

    for (var i = 0; i < elems.length; i++) {
        if (elems[i].checked) {
            total = total + 1;
        }
        if (total > 4) {
            alert("Selecteer a.u.b. maximaal 4 workshops")
            elems.checked = false;
            return false;
        }
    }
}

FIDDLE

最好也用addEventListener交换内联事件处理程序。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29782856

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档