js点击多个checkbox获取相应span值并且自动相加显示在另一个span里面怎么写啊,在线急等!!!
2个回答
展开全部
<!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来判断转化,把里面的值转化为十进制整数,再相加
<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就好啦~
遍历选中checkbox代码,获取总和~
$("input:checkbox[name='test']:checked").each(function() {
sum+=parseInt($(this).val());
});
然后sum赋值给span就好啦~
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询