js如何获取checkbox的累加值,高分救助,在线等

我想实现的是根据页面一个从后台数据库传过来的值{$x}作为判断条件,如果传过来的值为7元,那页面checkbox复选比如从前两个开始选择,当勾选到第三个时弹出提示"您勾选... 我想实现的是根据页面一个从后台数据库传过来的值{$x}作为判断条件,如果传过来的值为7元,那页面checkbox复选比如从前两个开始选择,当勾选到第三个时弹出提示"您勾选的金额超出{$x}7元,请重新选择“
,如果传过来的值为10元,当勾选到第四个选项时弹出”您勾选的金额超出{$x}10元,请重新选择“,我觉得思路是累加复选框的值然后做弹出判断,但不知道该怎么写,请大大帮忙写个完整例子,可加分,谢谢
我在网上看了很多人给的例子没一个能用的,都是残缺不全的
展开
 我来答
Way_C23
2015-05-24 · 超过15用户采纳过TA的回答
知道答主
回答量:22
采纳率:100%
帮助的人:25.8万
展开全部
<!doctype html>
<!--希望能帮到你-->
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<form id="form">
<input type="checkbox" value="5">5元
<input type="checkbox" value="2">2元
<input type="checkbox" value="3">3元
<input type="checkbox" value="5">5元
<input type="checkbox" value="10">10元
<input type="checkbox" value="5">5元
</form>
<script type="text/javascript">
var form = document.getElementById("form");
var $x = 10;

//用于处理“选中”事件的函数
var checkHandler = function(event){
//被选中的金额累加到sum
var sum = 0;
var boxes = document.getElementById("form").elements;
for(var i=0;i<boxes.length;i++){
if(boxes[i].checked){//判断是否被选中,如果是,就累加
sum += parseInt(boxes[i].value);
}
}
//console.log("sum="+sum);
if(sum > $x){
alert("金额超出 "+ $x +" 元");
//如果超出金额,则取消选中
event.target.checked=undefined;
}
}

//用于设置最大值 $x 的函数
function setThreshold(t){
$x = 10;
}
                function addHandler(){
                 for(var i=0;i<form.elements.length;i++){
form.elements[i].onclick = checkHandler;
}
                }
                
setThreshold(10);
addHandler();
</script>
</body>
</html>
追问

我也写了一种,不过现在有个问题,就是怎么加到项目里,他项目里原有的js调用格式如下

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
文哥讨厌IE
2015-05-24 · TA获得超过278个赞
知道小有建树答主
回答量:245
采纳率:0%
帮助的人:181万
展开全部
<!DOCTYPE html>
<html lang="en">
<head><script src="jquery.js"></script>
    <meta charset="UTF-8">
    <title>文哥讨厌IE</title>
    <script type="text/javascript">
    $(document).ready(function(){
        var $x=2;//<s >
        $(".submit").click(function(){
        var sum=0;
        $(":checked").each(function(){
                if($("this :checked")){
                    sum+=parseInt($(this).next().text());
                }
        });
        if(sum>$x){
            $(":checked").removeAttr("checked","checked");
            alert("您勾选的金额超出"+$x+"元,请重新选择");
            return false;
        }
    }); 
});
</script>
</head>
<body>
<form>
    <input type="checkbox"/><span>0元</span>
    <input type="checkbox"><span>1元</span>
    <input type="checkbox"><span>2元</span>
    <input type="checkbox"><span>3元</span>
    <input type="checkbox"><span>4元</span>
    <input type="submit" value="submit" class="submit">
</form>
</body>
</html>
更多追问追答
追问
您这个有些问题,我要的不是submit提交才弹出提醒,是当勾选到第几个复选框时就弹出提醒,您能改改么
追答

好的,妥妥哒,请叫我文哥!

<!DOCTYPE html>
<html lang="en">
<head><script src="jquery.js"></script>
    <meta charset="UTF-8">
    <title>文哥讨厌IE</title>
    <script type="text/javascript">
    $(document).ready(function(){
        var $x=2;//<s >
        $(":checkbox").click(function(){//.submit
        var sum=0;
        $(":checked").each(function(){
                if($("this :checked")){
                    sum+=parseInt($(this).next().text());
                }
        });
        if(sum>$x){
            $(":checked").removeAttr("checked","checked");
            alert("您勾选的金额超出"+$x+"元,请重新选择");
            return false;
        }
    }); 
});
</script>
</head>
<body>
<form>
    <input type="checkbox"/><span>0元</span>
    <input type="checkbox"><span>1元</span>
    <input type="checkbox"><span>2元</span>
    <input type="checkbox"><span>3元</span>
    <input type="checkbox"><span>4元</span>
    <input type="submit" value="submit" class="submit">
</form>
</body>
</html>
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式