快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

js/jQuery购物车全选反选、商品价格统计

模仿淘宝购物车的全选全不选,根据选中的商品计算价格,指定店铺选择。以下是我自己在做H5页面的时候整理出来的,想我一个纯php的来写成这样也不容易。不完善的地方欢迎各位小伙伴指出~

成都网站建设哪家好,找成都创新互联公司!专注于网页设计、网站建设、微信开发、微信小程序开发、集团成都定制网页设计等服务项目。核心团队均拥有互联网行业多年经验,服务众多知名企业客户;涵盖的客户类型包括:发电机回收等众多领域,积累了大量丰富的经验,同时也获得了客户的一致称誉!

效果图:

js/jQuery购物车全选反选、商品价格统计

html代码:


    
        
	购物车
	编辑
	完成
    
    
	
	    移入收藏夹
            删除
        
                                      amazon.co.jp-CHANGE8                 免官网运费                              
                                                                   
                                     花王Merries纸尿裤 腰贴士M(6!11kg)瞬爽透气168片(42片x4)纸尿裤纸尿裤                                              JRB 3,680                     

                                                                                                                                                        花王Merries纸尿裤 腰贴士M(6!11kg)瞬爽透气168片(42片x4)纸尿裤纸尿裤                                              JRB 3,680                     

                                                                                                                                                        花王Merries纸尿裤 腰贴士M(6!11kg)瞬爽透气168片(42片x4)纸尿裤纸尿裤                                              JRB 3,680                     

                                                                                              amazon.co.jp-CHANGE8                 免官网运费                                                                                                                                        花王Merries纸尿裤 腰贴士M(6!11kg)瞬爽透气168片(42片x4)纸尿裤纸尿裤                                              JRB 3,680                     

                                                                                                                                                        花王Merries纸尿裤 腰贴士M(6!11kg)瞬爽透气168片(42片x4)纸尿裤纸尿裤                                              JRB 3,680                     

                                                                                              全选                                                            合计:0.00                 不含运费、优惠券                          去结算(0)              

js代码部分:

1.全选很简单,根据全选checkbox的选中状态来控制其它checkbox就行。if语句里是我控制结算按钮的css的。可不用理会。

2.计算价格同理,给所有的checkbox添加一个class,把价格通过自定义标签写在checkbox元素上,当点击任意class名为sumprice的时候就触发点击事件,循环所有checkbox,然后获取价格为真的值,累计相加。

3.全选某个店铺,sel_quan(obj)方法,给店铺的checkbox定义一个唯一class,子checkbox也加上这个唯一class,当选中店铺checkbox的时候,就把带有这个标识的产品checkbox都选中。


		$(function(){

			$(".chooseall").click(function(){    
				var isChecked = $(this).prop("checked");
				if(isChecked==true){
					$('.cart-btn').removeClass('cartnull');
					$('.cart-btn').addClass('cartctrue');
				}else{
					$('.cart-btn').removeClass('cartctrue');
					$('.cart-btn').addClass('cartnull');
				}
				$("input[type='checkbox']").prop("checked", isChecked);

			});


			$('.sumprice').click(function(){
				var totalprice = 0;
				$('.sumprice').each(function(){
					
					if ($(this).is(":checked")) {
						var aaa = parseInt($(this).attr('data-price'));
						if(aaa){
							totalprice += aaa;
						}
					}

					if(totalprice==0){
						$('.cart-btn').removeClass('cartctrue');
						$('.cart-btn').addClass('cartnull');
					}else{
						$('.cart-btn').removeClass('cartnull');
						$('.cart-btn').addClass('cartctrue');
					}
					
					$('.ctotal').text(totalprice.toLocaleString());
				});
				
			});

		})

		var btn=document.getElementById('cartEdit'); 
		btn.addEventListener('click',function(){
			$('#cartDelete').fadeIn(1000);
			document.getElementById("cartEdit").style.display="none";
			document.getElementById("cartFinish").style.display="";
		},false);

		var btn2=document.getElementById('cartFinish'); 
		btn2.addEventListener('click',function(){
			$('#cartDelete').fadeOut(1000);
			$('#cartEdit').fadeIn(1000);
			document.getElementById("cartFinish").style.display="none";
		},false);

		function sel_quan(sellerid){
			$(".zimulu_"+sellerid).prop("checked",$(".father_"+sellerid).prop("checked"));	
		}
	

以上代码还没有很完善,比如当checkbox没有全部选中的时候,全选按钮状态取消,店铺产品没有全部选中的时候,状态取消等等,我就懒的弄了。

样式我就不贴了,毕竟js是最重要的,只要把需要的class名放在你要的标签上就行了


当前题目:js/jQuery购物车全选反选、商品价格统计
文章起源:http://6mz.cn/article/ipcpde.html