Advertisement
Guest User

Untitled

a guest
Dec 4th, 2015
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.98 KB | None | 0 0
  1. /*******************************************************************************
  2. * *
  3. * Smith, Phillip *
  4. * smith.phillip.m@ufl.edu *
  5. * *
  6. * Fry, Nicolas *
  7. * email@ufl.edu *
  8. * *
  9. *******************************************************************************/
  10.  
  11. /*******************************************************************************
  12.  
  13. Source code for front end shopping card functionality borrowed from this
  14. repository:
  15.  
  16. https://github.com/soggybag/Shopping-Cart-js
  17.  
  18. Full credit for these scripts belongs solely to Mitchell Hudson.
  19.  
  20. *******************************************************************************/
  21.  
  22. $(".add-to-cart").click(function(event){
  23. event.preventDefault();
  24. var name = $(this).attr("data-name");
  25. var price = Number($(this).attr("data-price"));
  26. var stock = Number($(this).attr("data-stock"));
  27. var pid = Number($(this).attr("data-pid"));
  28. shoppingCart.addItemToCart(name, price, 1, stock, pid);
  29. displayCart();
  30. });
  31. $("#clear-cart").click(function(event){
  32. shoppingCart.clearCart();
  33. displayCart();
  34. });
  35. function displayCart() {
  36. var cartArray = shoppingCart.listCart();
  37. console.log(cartArray);
  38. var output = "";
  39. for (var i in cartArray) {
  40. output += "<li class = 'list-group-item' id = 'results-list'><div class = 'row'><div class = 'col-xs-5 col-md-3'>"
  41. +cartArray[i].name
  42. +" </div><div class = 'col-xs-6 col-md-6'><input class='item-count' type='number' data-name='"
  43. +cartArray[i].name
  44. +"' data-stock = '"+ cartArray[i].stock
  45. +"' data-pid = '"+ cartArray[i].pid
  46. +"' value='"+cartArray[i].count+"' >"
  47. +" x "+cartArray[i].price
  48. +" = "+cartArray[i].total
  49. +" </div><div class = 'col-xs-7 col-md-3'><button type = 'button' class='btn btn-default plus-item' data-name='"
  50. +cartArray[i].name+"'><span class='glyphicon glyphicon-plus' aria-hidden='true'></span></button>"
  51. +" <button type = 'button' class='btn btn-default subtract-item' data-name='"
  52. +cartArray[i].name+"'><span class='glyphicon glyphicon-minus' aria-hidden='true'></span></button>"
  53. +" <button type = 'button' class='btn btn-default delete-item' data-name='"
  54. +cartArray[i].name+"'><span class='glyphicon glyphicon-remove' aria-hidden='true'></span></button></div>"
  55. +"</div></li>";
  56. }
  57. $("#show-cart").html(output);
  58. $("#count-cart").html( shoppingCart.countCart() );
  59. $("#total-cart").html( shoppingCart.totalCart() );
  60. }
  61. $("#show-cart").on("click", ".delete-item", function(event){
  62. var name = $(this).attr("data-name");
  63. shoppingCart.removeItemFromCartAll(name);
  64. displayCart();
  65. });
  66. $("#show-cart").on("click", ".subtract-item", function(event){
  67. var name = $(this).attr("data-name");
  68. shoppingCart.removeItemFromCart(name);
  69. displayCart();
  70. });
  71. $("#show-cart").on("click", ".plus-item", function(event){
  72. var name = $(this).attr("data-name");
  73. var stock = Number($(this).attr("data-stock"));
  74. shoppingCart.addItemToCart(name, 0, 1);
  75. displayCart();
  76. });
  77. $("#show-cart").on("change", ".item-count", function(event){
  78. var name = $(this).attr("data-name");
  79. var count = Number($(this).val());
  80. shoppingCart.setCountForItem(name, count);
  81. displayCart();
  82. });
  83.  
  84.  
  85. $("#end-cart").on("click", ".submit-cart", function(event)
  86. {
  87. var email = $("#checkoutEmail").val();
  88. var pass = $("#checkoutPassword").val();
  89. var items = shoppingCart.listCart();
  90.  
  91. console.log(email);
  92. console.log(pass);
  93.  
  94. $.post("/user/checkout", { email: email, password: pass, cart: items }).done(function(data)
  95. {
  96. alert("Data Loaded: " + data);
  97. });
  98.  
  99. // displayCart();
  100. });
  101.  
  102. displayCart();
  103.  
  104. /*******************************************************************************
  105. * *
  106. * Smith, Phillip *
  107. * smith.phillip.m@ufl.edu *
  108. * *
  109. * Fry, Nicolas *
  110. * email@ufl.edu *
  111. * *
  112. *******************************************************************************/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement