js购物车 实现全选 反选 删除...(附图片代码)

 要求:

1.实现全选和全部选的功能。当商品被选中时,需要计算选择的商品数量和总计

2实现数量的加一或者减一。当数量改变时,需要重新计算小计;如果该商品 被选中,则需要重新计算商品数量和总计。注意:商品数量不能小于 1

3.单击“删除”按钮后,删除列表中的该条数据

css样式

 html

 

 

js代码 

 

 

 

 

 <script>

        //删除

        function del(e){

            e.parentNode.parentNode.parentNode.removeChild(e.parentNode.parentNode);

        }

        //复选框

        //获取总复选框

        var box= document.getElementById("box");

        //获取其他复选框

        var xuan = document.getElementsByName("xuan");

        function dian(){

            if(box.checked){

               for (var i = 0; i < xuan.length; i++) {

                   xuan[i].checked =true;  

               }

            }else{

                for (var i = 0; i < xuan.length; i++) {

                   xuan[i].checked =false;  

               }

            } 

            zong();   

        }

        //反选

        var flag = false;

        function fan(e){  

           for (var i = 0; i < xuan.length; i++) {

              if(!xuan[i].checked){

                flag =false;

                break;

              }   

           }

           if(!flag){

                box.checked =false;

           }else{

               box.checked =true;

           }

           zong();

        }

     //加

     //获取

     function jia(e){

        var aa= e.nextSibling.nextSibling;

        var num= aa.value;

        num++;

        aa.value = num;

        //获取单价

        var price=  e.parentNode.previousSibling.previousSibling.childNodes[0].value;

        //获取小计

        e.parentNode.nextSibling.nextSibling.childNodes[1].value = price*num;

        zong();

    }

    //减

    function jian(e){

        var aa =e.previousSibling.previousSibling;

        var num = aa.value;

        num--;

        if(num<0){

            alert("不要在减了");

            num=0;

        }

        aa.value = num;

        //获取单价

        var price=  e.parentNode.previousSibling.previousSibling.childNodes[0].value;

        //获取小计

        e.parentNode.nextSibling.nextSibling.childNodes[1].value = price*num;

        zong();

    }

    //获取总计

    var nums = document.getElementById("nums");

    //获取总数量

    var count = document.getElementById("count");

    //获取所有单价

    var prices = document.getElementsByName("price");

    //获取所有数量

    var shus =document.getElementsByName("shu");

    function zong(){

        var sum = 0;

        var sumqian=0;

        for (var i = 0; i < xuan.length; i++) {

            if(xuan[i].checked){

                sum+=Number(shus[i].value);

                sumqian+=prices[i].value*shus[i].value;

            }        

        }

        console.log(sum);

        console.log(sumqian);

        nums.innerHTML = sum;

        count.innerHTML=sumqian;

    }

    //失去焦点事件

    for (var i = 0; i < shus.length; i++) {

        shus[i].οnblur= function(){

            zong();

            }       

    }

    </script>

猜你喜欢

转载自blog.csdn.net/qq_45310795/article/details/126759060