使用Ajax、json实现京东购物车结算界面的数据交互实例

发布时间 - 2026-01-10 23:17:33    点击率:


<div class="goodsList_menu">
   <div class="goodsList">
    <div class="goodsListfl">
     <input class="fl" style="margin:15px 10px 0 10px;" type="checkbox" name="" />
     <ul>
      <li>全选</li>
      <li>商品</li>
     </ul>
    </div>
    <div class="goodsListfr fr">
     <ul>
      <li>单价</li>
      <li class="w100">数量</li>
      <li class="w100">小计</li>
      <li>操作</li>
     </ul>
    </div>
   </div>
   <!--内容-->
   <div class='goodsListbox'></div>
   <div class="checkout">
    <div class="checkoutleft">
     <input class="fl" style="margin:21px 10px 0 10px;" type="checkbox" name="" />
     <ul>
      <li>全选</li>
      <li>删除选中产品</li>
     </ul>
    </div>
    <div class="checkoutright fr">
     <span>总价:<b>¥</b></span><span class="checkoutSum">0</span>
     <input type="button" value="去结算" />
    </div>
   </div>
  </div>
body,html,ul,li,a{
 margin:0;padding:0;font-family:"microsoft yahei";list-style:none;text-decoration:none;
}
.fl{
 float:left;
}
.fr{
 float:right;
}
.f12{
 font-size:12px;
}
.disl{
 display:inline-block;
}
.w100{
 width:100px;
}
.fw{
 font-weight:bold;
}
.goodsList_menu{
 width:990px;height:45px;background:#f3f3f3;margin:0 auto;line-height:45px;
 font-size:14px;color:#333;border:1px solid #ddd;
}
.goodsList_menu .goodsListfl ul li{
 float:left;margin-right:80px;cursor:pointer;
}
.goodsList_menu .goodsListfr ul li{
 float:left;margin-right:37px;text-align:center;cursor:pointer;
}
/*内容*/
.goodsList_content{
 width:100%;height:80px;border-bottom:1px solid #eee;padding:20px 0;margin-top:40px;
}
.goodsList_content .disl{
 line-height:20px;width:300px;cursor:pointer;margin-left:10px;
}
.goodsList_content .disl span:hover{
 color:#e4393c;
}
.goodsList_content .disl p:hover{
 color:#e4393c;
}
.goodsListnum .listNum{
 widows:45px;height:21px;width:50px;border:1px solid #eee;text-align:center;
 outline:none;
}
.goodsListnum ul li{
 float:left;margin-right:30px;text-align:center;cursor:pointer;
}
.goodsListnum ul li a{
 border:1px solid #ddd;padding:2px 7px;color:#000;
}
.goodsListnum ul li p{
 line-height:0;color:#666;font-size:12px;margin-top:-2px;
}
.buy_goods p{
 background:url(../images/arrow.png)no-repeat;padding-left:30px;background-position:-20px -20px;
}
.buy_goods{
 position:relative;
}
/*底部结账*/
.checkout{
 height:55px;border:1px solid #eee;margin-top:20px;line-height:55px;
}
.checkout .checkoutleft ul li{
 float:left;margin-right:10px;cursor:pointer;
}
.checkout .checkoutSum{
 font-weight:bold;font-size:18px;color:#e64346;
}
.checkout .checkoutright input{
 border:none;color:#fff;outline:none;width:100px;height:55px;line-height:55px;
 font-size:20px;background:#e64346;margin-left:50px;cursor:pointer;
}
<script>
   $.ajax({
    type:"get",
    url:"jd.json",
    dataType:"json",
    success:function(data){
     var list = data.list;//拿到list数组
     //console.log(list);
     for(var i=0;i<list.length;i++){
      var numArray = list[i];
      numArray.price = (numArray.price).toFixed(2);
      var text = "<div class='goodsList_content'><div class='fl buy_goods'>"+
         "<input class='fl' style='margin:15px 10px 0 10px;' type='checkbox' name='' />"+
         "<img align='top' src='images/1.jpg' /><div class='disl'>"+
         "<span>"+numArray.description+"</span><p class='f12'>购买礼品服务</p></div>"+
         "<div class='disl' style='width:auto;position:absolute;right:-100px;top:0;'>"+
         "<span>"+numArray.color+"</span></div></div>"+
         "<div class='fr goodsListnum' style='margin-top:-12px;'>"+
         "<ul><li><b>¥</b><span class='fw'>"+numArray.price+"</span></li>"+
         "<li class='w100'><a class='minus' onClick='minus(this);' href='javascript:void(0);'>-</a>"+
         "<input value='1' class='listNum' /><a class='add' onClick='add(this)' href='javascript:void(0);'>+</a><p>有货</p></li>"+
         "<li class='w100'><b>¥</b><span id='sub' class='fw'>"+numArray.price*numArray.quentity+"</span></li>"+
         "<li><a style='border:none;color:#666;' href='javascript:void(0);'>删除</a></li>"+
         "</ul></div></div>"
      $(text).appendTo(".goodsListbox");
     }
    },
    error:function(){
     console.log("调用数据失败!");
    }
   });
   var listNum,price,sums,sub1,sub2;
   function add(obj){
    listNum = $(obj).prev().val();//input值
    listNum = parseInt(listNum);
    var num = parseInt(listNum+1);//input值每次+1
    $(obj).prev().val(num);
    price = $(obj).parent().prev().children('span').text();//找到单价
    price = parseInt(price);//转换成number类型
    price = price.toFixed(2);
    sums = $(obj).parent().next().children('span').text()//找到总金额
    sums = parseInt(sums);
    console.log(typeof sums);
    $(obj).parent().next().children('span').text(price*num);

    sub1 = $(".goodsList_content:eq(0)").find("#sub").text();
    sub2 = $(".goodsList_content:eq(1)").find("#sub").text();
    sub1 = parseInt(sub1);
    sub2 = parseInt(sub2);
    var res = $(".checkoutright .checkoutSum").text((sub1+sub2).toFixed(2));
   }
   
   function minus(obj){
    listNum = $(obj).next().val();
    listNum = parseInt(listNum);
    if(listNum<=1){
     listNum==1;
    }else{
     --listNum;
    }
    $(obj).next().val(listNum);
    price = $(obj).parent().prev().children('span').text();//找到单价
    price = parseInt(price);//转换成number类型
    price = price.toFixed(2);
    sums = $(obj).parent().next().children('span').text()//找到总金额
    sums = parseInt(sums);
    $(obj).parent().next().children('span').text(price*listNum);
    $(".checkoutright .checkoutSum").text(price*listNum);
    sub1 = $(".goodsList_content:eq(0)").find("#sub").text();
    sub2 = $(".goodsList_content:eq(1)").find("#sub").text();
    sub1 = parseInt(sub1);
    sub2 = parseInt(sub2);
    $(".checkoutright .checkoutSum").text(sub1+sub2);
   }
  </script>

因为时间原因,代码没有进行优化,但是效果还是先给大家呈现出来。希望可以帮到更多的技术爱好者和朋友!如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# ajaxjson数据交互实例  # ajax  # 京东购物车  # Java中使用json与前台Ajax数据交互的方法  # PHP JSON格式数据交互实例代码详解  # json前后端数据交互相关代码  # 小计  # 转换成  # 总金额  # 全选  # 在此  # 小编  # 给我留言  # 感谢大家  # 先给  # 有货  # 疑问请  # 有任何  # size  # block  # yahei  # inline  # disl  # display  # microsoft  # padding 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: INTERNET浏览器怎样恢复关闭标签页_INTERNET浏览器标签恢复快捷键与方法【指南】  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  魔方云NAT建站如何实现端口转发?  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  JavaScript中如何操作剪贴板_ClipboardAPI怎么用  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  Win11怎样安装网易有道词典_Win11安装词典教程【步骤】  Win11关机界面怎么改_Win11自定义关机画面设置【工具】  Swift开发中switch语句值绑定模式  绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信  Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用  Python结构化数据采集_字段抽取解析【教程】  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例  如何用wdcp快速搭建高效网站?  如何基于云服务器快速搭建网站及云盘系统?  想要更高端的建设网站,这些原则一定要坚持!  如何在万网利用已有域名快速建站?  Laravel用户认证怎么做_Laravel Breeze脚手架快速实现登录注册功能  PHP正则匹配日期和时间(时间戳转换)的实例代码  使用豆包 AI 辅助进行简单网页 HTML 结构设计  百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  如何续费美橙建站之星域名及服务?  活动邀请函制作网站有哪些,活动邀请函文案?  python中快速进行多个字符替换的方法小结  西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?  微信小程序制作网站有哪些,微信小程序需要做网站吗?  JavaScript如何实现继承_有哪些常用方法  Laravel如何实现多语言支持_Laravel本地化与国际化(i18n)配置教程  php 三元运算符实例详细介绍  html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】  如何获取上海专业网站定制建站电话?  Laravel怎么生成URL_Laravel路由命名与URL生成函数详解  如何快速查询网站的真实建站时间?  Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】  Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优  如何自定义safari浏览器工具栏?个性化设置safari浏览器界面教程【技巧】  Laravel如何使用.env文件管理环境变量?(最佳实践)  Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全  如何批量查询域名的建站时间记录?  如何在腾讯云免费申请建站?  使用spring连接及操作mongodb3.0实例  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  黑客如何通过漏洞一步步攻陷网站服务器?  瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口  laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法