cart-list.js 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. $(function (){
  2. var key = getcookie('key');
  3. if(key==''){
  4. window.location.href = WapSiteUrl+'/tmpl/member/login.html';
  5. }else{
  6. //初始化页面数据
  7. function initCartList(){
  8. $.ajax({
  9. url:ApiUrl+"/index.php?act=member_cart&op=cart_list",
  10. type:"post",
  11. dataType:"json",
  12. data:{key:key},
  13. success:function (result){
  14. if(checklogin(result.login)){
  15. if(!result.datas.error){
  16. var rData = result.datas;
  17. rData.WapSiteUrl = WapSiteUrl;
  18. var html = template.render('cart-list', rData);
  19. $("#cart-list-wp").html(html);
  20. //删除购物车
  21. $(".cart-list-del").click(delCartList);
  22. //购买数量,减
  23. $(".minus-wp").click(minusBuyNum);
  24. //购买数量加
  25. $(".add-wp").click(addBuyNum);
  26. //去结算
  27. $(".goto-settlement").click(goSettlement);
  28. $(".buynum").blur(buyNumer);
  29. }else{
  30. alert(result.datas.error);
  31. }
  32. }
  33. }
  34. });
  35. }
  36. initCartList();
  37. //删除购物车
  38. function delCartList(){
  39. var cart_id = $(this).attr("cart_id");
  40. $.ajax({
  41. url:ApiUrl+"/index.php?act=member_cart&op=cart_del",
  42. type:"post",
  43. data:{key:key,cart_id:cart_id},
  44. dataType:"json",
  45. success:function (res){
  46. if(checklogin(res.login)){
  47. if(!res.datas.error && res.datas == "1"){
  48. initCartList();
  49. }else{
  50. alert(res.datas.error);
  51. }
  52. }
  53. }
  54. });
  55. }
  56. //购买数量减
  57. function minusBuyNum(){
  58. var self = this;
  59. editQuantity(self,"minus");
  60. }
  61. //购买数量加
  62. function addBuyNum(){
  63. var self = this;
  64. editQuantity(self,"add");
  65. }
  66. //购买数量增或减,请求获取新的价格
  67. function editQuantity(self,type){
  68. var sPrents = $(self).parents(".cart-litemw-cnt")
  69. var cart_id = sPrents.attr("cart_id");
  70. var numInput = sPrents.find(".buy-num");
  71. var buynum = parseInt(numInput.val());
  72. var quantity = 1;
  73. if(type == "add"){
  74. quantity = parseInt(buynum+1);
  75. //
  76. }else {
  77. if(buynum >1){
  78. quantity = parseInt(buynum-1);
  79. }else {
  80. $.sDialog({
  81. skin:"red",
  82. content:'购买数目必须大于1',
  83. okBtn:false,
  84. cancelBtn:false
  85. });
  86. return;
  87. }
  88. }
  89. $.ajax({
  90. url:ApiUrl+"/index.php?act=member_cart&op=cart_edit_quantity",
  91. type:"post",
  92. data:{key:key,cart_id:cart_id,quantity:quantity},
  93. dataType:"json",
  94. success:function (res){
  95. if(checklogin(res.login)){
  96. if(!res.datas.error){
  97. numInput.val(quantity);
  98. sPrents.find(".goods-total-price").html(res.datas.total_price);
  99. var goodsTotal = $(".goods-total-price");
  100. var totalPrice = parseFloat("0.00");
  101. for(var i = 0;i<goodsTotal.length;i++){
  102. totalPrice += parseFloat($(goodsTotal[i]).html());
  103. }
  104. $(".total_price").html("¥"+totalPrice.toFixed(2));
  105. }else{
  106. $.sDialog({
  107. skin:"red",
  108. content:res.datas.error,
  109. okBtn:false,
  110. cancelBtn:false
  111. });
  112. }
  113. }
  114. }
  115. });
  116. }
  117. //去结算
  118. function goSettlement(){
  119. //购物车ID
  120. var cartIdArr = [];
  121. var cartIdEl = $(".cart-litemw-cnt");
  122. for(var i = 0;i<cartIdEl.length;i++){
  123. var cartId = $(cartIdEl[i]).attr("cart_id");
  124. var cartNum = parseInt($(cartIdEl[i]).find(".buy-num").val());
  125. var cartIdNum = cartId+"|"+cartNum;
  126. cartIdArr.push(cartIdNum);
  127. }
  128. var cart_id = cartIdArr.toString();
  129. window.location.href = WapSiteUrl + "/tmpl/order/buy_step1.html?ifcart=1&cart_id="+cart_id;
  130. }
  131. //验证
  132. $.sValid.init({
  133. rules:{
  134. buynum:"digits"
  135. },
  136. messages:{
  137. buynum:"请输入正确的数字"
  138. },
  139. callback:function (eId,eMsg,eRules){
  140. if(eId.length >0){
  141. var errorHtml = "";
  142. $.map(eMsg,function (idx,item){
  143. errorHtml += "<p>"+idx+"</p>";
  144. });
  145. $.sDialog({
  146. skin:"red",
  147. content:errorHtml,
  148. okBtn:false,
  149. cancelBtn:false
  150. });
  151. }
  152. }
  153. });
  154. function buyNumer(){
  155. $.sValid();
  156. }
  157. }
  158. });