下面这个代码是我从网上复制过来的,我想利用这个代码的全选商品后可以随之增加商品的选中价格,可是运行不了,哪里出了问题呢
function getInput(obj){
//获取a标签 del事件的对象
var a =obj.parentNode.parentNode.children[6].children[1];
//取消选中事件
if(obj.checked==false){
//只要有一个被取消选中,那么全选按钮也被取消选中
checkboxs[0].checked=false;
//调用此元素的价格,将其的价格总总价减出,不删除元素
del(a,false)
}else{
var num = Number(obj.parentNode.parentNode.children[5].children[1].innerHTML);
//所有商品总价对象
var totalObj = document.getElementById("total");
//更改后的价格
num = (Number(totalObj.innerHTML)+num).toFixed(2);
//更改总的价格
totalObj.innerHTML=num;
//打一个标记,用于判断是否存在未被选中的按钮,如果有一个就是false;
var flag = true;
for(var j=1;j<checkboxs.length;j++){
if(checkboxs[j].checked==false){
flag=false;
}
}
//给全选按钮设置选中与否
checkboxs[0].checked=flag;
}
}
}
下面是总的代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>折叠菜单</title>
<style>
ul{list-style: none;padding: 0;margin: 0;}
div{width: 100%;border: 1px solid #5d7851;margin: 1px;}
div li{background: #545178;border-bottom:1px solid #fff ;}
div th{background: #515278;border-bottom:1px solid #fff ;}
div li a{text-decoration: none;color: #fff;font-size: 16px;height: 40px;line-height: 63px;padding-left: 10px;}
div li a:hover{text-decoration: underline;}
.wrap {width: 100%;display: none;}
.wrap li{background: white;margin: 0;}
.wrap li a{color: #180505;font-size: 16px;}
#left{width: 40%;float: left;overflow: hidden;}
#right{width: 60%;float: left;margin-left: -10px;display: inline;overflow: hidden;}
.sale {background-color: rgb(15, 90, 228);color: white;text-align: center;}
input{width:25px;}
</style>
</head>
<body>
<div id="left">
<div id="fold">
<ul>
<li>
<a href="#">鞋类</a>
<ul class="wrap">
<li><a href="#">经典老爹鞋</a></li>
<li><a href="#">新款帆布鞋</a></li>
</ul>
</li>
<li>
<a href="#">玩具类</a>
<ul class="wrap">
<li><a href="#">经典黄鸡玩偶</a></li>
<li><a href="#">新款小单车玩具</a></li>
</ul>
</li>
<li>
<a href="#">裤子类</a>
<ul class="wrap">
<li><a href="#">经典裤子</a></li>
<li><a href="#">新款皮裤</a></li>
</ul>
</li>
<li>
<a href="#">科技类</a>
<ul class="wrap">
<li><a href="#">经典苹果电脑</a></li>
<li><a href="#">新款菠萝手机</a></li>
</ul>
</li>
</ul>
</div>
</div>
<div id="right">
<table border="1" cellspacing="73%" cellpadding="27%";>
<thead>
<th>
<input type='checkbox' class="selectAll">全选</th>
<th>商品</th>
<th>数量</th>
<th>单价</th>
<th>状态</th>
<th>库存</th>
<th>小计</th>
</thead>
<tbody>
<tr>
<td><input type='checkbox' class="checkbox1"></td>
<td><img src="images/1.jpg" width=120px height=40px>经典老爹鞋</td>
<td>
<button class="del">-</button>
<input type="number" maxlength="2" value="0" disabled>
<button class="add">+</button>
</td>
<td>
69.00
</td>
<td>
有货
</td>
<td>20</td>
<td class="xiaoji"></td>
</tr>
<tr>
<td><input type='checkbox' class="checkbox1"></td>
<td><img src="images/1.jpg" width=120px height=40px>新款帆布鞋</td>
<td>
<button class="del">-</button>
<input type="number" maxlength="2" value="0" disabled>
<button class="add">+</button>
</td>
<td>
19.88
</td>
<td>
有货
</td>
<td>20</td>
<td class="xiaoji"></td>
</tr>
<tr>
<td><input type='checkbox' class="checkbox1"></td>
<td><img src="images/1.jpg" width=120px height=40px>经典黄鸡玩偶</td>
<td>
<button class="del">-</button>
<input type="number" maxlength="2" value="0" disabled>
<button class="add">+</button>
</td>
<td>
9.99
</td>
<td>
有货
</td>
<td>20</td>
<td class="xiaoji"></td>
</tr>
<tr>
<td><input type='checkbox' class="checkbox1"></td>
<td><img src="images/1.jpg" width=120px height=40px>新款小单车玩具</td>
<td>
<button class="del">-</button>
<input type="number" maxlength="2" value="0" disabled>
<button class="add">+</button>
</td>
<td>
16.1
</td>
<td>
有货
</td>
<td>20</td>
<td class="xiaoji"></td>
</tr>
<tr>
<td><input type='checkbox' class="checkbox1"></td>
<td><img src="images/1.jpg" width=120px height=40px>经典裤子</td>
<td>
<button class="del">-</button>
<input type="number" maxlength="2" value="0" disabled>
<button class="add">+</button>
</td>
<td>
10.2
</td>
<td>
有货
</td>
<td>20</td>
<td class="xiaoji"></td>
</tr>
<tr>
<td><input type='checkbox' class="checkbox1"></td>
<td><img src="images/1.jpg" width=120px height=40px>新款皮裤</td>
<td>
<button class="jian">-</button>
<input type="number" maxlength="2" value="0" disabled>
<button class="add">+</button>
</td>
<td>
60.1
</td>
<td>
有货
</td>
<td>20</td>
<td class="xiaoji"></td>
</tr>
<tr>
<td><input type='checkbox' class="checkbox1"></td>
<td><img src="images/1.jpg" width=120px height=40px>经典苹果电脑</td>
<td>
<button class="del">-</button>
<input type="number" maxlength="2" value="0" disabled>
<button class="add">+</button>
</td>
<td>
999
</td>
<td>
有货
</td>
<td>20</td>
<td class="xiaoji"></td>
</tr>
<tr>
<td><input type='checkbox' class="checkbox1"></td>
<td><img src="images/1.jpg" width=120px height=40px>新款菠萝手机</td>
<td>
<button class="del">-</button>
<input type="number" maxlength="2" value="0" disabled>
<button class="add">+</button>
</td>
<td>
996
</td>
<td>
有货
</td>
<td>20</td>
<td class="xiaoji"></td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="5"></td>
<td>总计</td>
<td class="total"></td>
</tr>
<tr>
<td>
<button class="sale" style="height: 50px;width: 100px;"t>提交</button>
</td>
</tr>
</tfoot>
</tfoot>
</table>
</div>
<script src="jquery-3.6.0.js"></script>
<script>
$('#fold>ul>li:first').find('.wrap').css({"display":"block"});
$('#fold>ul>li').click(function(){
$(this).siblings('li').find('wrap').css('display',"none");
$(this).find('.wrap').css('display',"block");
})
$(".add").click(function() {
var num = $(this).prev().val();
if(num==20){
return;
}
$(this).prev().val(parseInt(++num));
$(this).parent().next().next().next().text(20-num)
if ($(this).parent().next().next().next().text()==0) {
$(this).parent().next().next().text('无货')
}
money ()
})
$(".del").click(function() {
var num = $(this).next().val();
if(num==0){
return;
}
$(this).next().val(parseInt(--num));
$(this).parent().next().next().next().text(20-num)
$(this).parent().next().next().text('有货')
money ()
})
function money(){
var price=$('.add').parent().next();
var num=$('.add').prev();
var xiaoji=$('.xiaoji');
var sum=0.0;
for (var i=0;i<price.length;i++) {
var price1 = parseFloat(price.eq(i).text());
var num1 = parseFloat(num.eq(i).val());
// alert(price1*num1)
xiaoji.eq(i).text((price1*num1).toFixed(2))
sum+=price1*num1;
}
$('.total').text(sum.toFixed(2));
}
$(".sale").click(function(){
var sale =document.createElement("input");
sale.className = "sale";
sale.value = $('.total');
})
window.onload=function(){
var selectAllBtn = document.querySelector('.selectAll')
var checkbox1s = document.querySelectorAll('.checkbox1')
console.log(selectAllBtn)
console.log(checkbox1s)
var checkedNum = 0
selectAllBtn.onclick = function () {
if (selectAllBtn.checked == true) {
checkbox1s.forEach(function (checkbox, index) {
checkbox.checked = true
})
checkedNum=checkbox1s.length
} else if (selectAllBtn.checked == false) {
checkbox1s.forEach(function (checkbox, index) {
checkbox.checked = false
})
checkedNum=0
console.log('selectAllBtn.checked =' + selectAllBtn.checked)
}
}
checkbox1s.forEach(function (checkbox, index) {
checkbox.onclick = function () {
if (checkbox.checked == false) {
checkedNum--
} else if (checkbox.checked == true) {
checkedNum++
}
if (checkedNum !== checkbox1s.length) {
selectAllBtn.checked = false
} else if (checkedNum == checkbox1s.length) {
selectAllBtn.checked = true
}
function getInput(obj){
//获取a标签 del事件的对象
var a =obj.parentNode.parentNode.children[6].children[1];
//取消选中事件
if(obj.checked==false){
//只要有一个被取消选中,那么全选按钮也被取消选中
checkboxs[0].checked=false;
//调用此元素的价格,将其的价格总总价减出,不删除元素
del(a,false)
}else{
var num = Number(obj.parentNode.parentNode.children[5].children[1].innerHTML);
//所有商品总价对象
var totalObj = document.getElementById("total");
//更改后的价格
num = (Number(totalObj.innerHTML)+num).toFixed(2);
//更改总的价格
totalObj.innerHTML=num;
//打一个标记,用于判断是否存在未被选中的按钮,如果有一个就是false;
var flag = true;
for(var j=1;j<checkboxs.length;j++){
if(checkboxs[j].checked==false){
flag=false;
}
}
//给全选按钮设置选中与否
checkboxs[0].checked=flag;
}
}
}
})
}
</script>
</body>
</html>