js点击多个checkbox获取相应span值并且自动相加显示在另一个span里面怎么写啊,在线急等!!!

 我来答
神v神王
推荐于2018-04-05 · 超过11用户采纳过TA的回答
知道答主
回答量:34
采纳率:0%
帮助的人:14.3万
展开全部
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>zhidao</title>
</head>
<body>
<p><input type="checkbox" value="1" checked><span>1</span></p>
<p><input type="checkbox" value="2"><span>2</span></p>
<p><input type="checkbox" value="3"><span>3</span></p>
共计:<span id="all"></span>
<script type="text/javascript">
var allinput=document.getElementsByTagName('input');
var all=document.getElementById("all");
function getNextElement(node){
if(node.nextSibling.nodeType == 1){ //判断下一个节点类型为1则是“元素”节点
return node.nextSibling;
}
if(node.nextSibling.nodeType == 3){ //判断下一个节点类型为3则是“文本”节点 ,回调自身函数
return getNextElement(node.nextSibling);
}
return null;
}
for(var i=0;i<allinput.length;i++)
{
if(allinput[i].checked)
{
console.log(allinput[i]);
all.innerHTML+=allinput[i].value;
}
allinput[i].onclick=function()
{
var _this=this;
if(_this.checked==true)
{
console.log(_this);
all.innerHTML =parseInt(all.innerHTML,10)+parseInt(getNextElement(_this).innerHTML,10);
}
else
{
console.log(_this);
all.innerHTML =parseInt(all.innerHTML,10)-parseInt(getNextElement(_this).innerHTML,10);
}
}
}

</script>
</body>
</html>
获取下一个span的innerHTML来判断转化,把里面的值转化为十进制整数,再相加
匿名用户
2016-12-21
展开全部
既然是多个checkbox,干嘛获取span的值,把checkbox的value设置为和span相同的值,然后遍历checkbox选中的值进行相加,赋值给要显示的span就行啦~
遍历选中checkbox代码,获取总和~
$("input:checkbox[name='test']:checked").each(function() {
sum+=parseInt($(this).val());
});
然后sum赋值给span就好啦~
更多追问追答
追问

value这样是不是不能动了。。

追答
那你获取的value值和span显示在页面上的值一样吗?
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式