您的位置:首页 > 编程语言 > Go语言

Goods:购物车条目加减数量实现

2015-09-07 16:31 483 查看
list.jsp

//给减号添加click事件

$(".jian")
.click(
function() {
//获取cartItemId
var id = $(this).attr("id").substring(0, 32);
var quantity = $("#" + id + "Quantity").val();
//判断当前数量是否为1 如果为1就不是修改数量啦 而是删除
if (quantity == 1) {
if (confirm("你是否真要删除该条目")) {
location = "/goods/CartItemServlet?method=batchDelete&cartItemIds="
+ id;
}
} else {
sendUpdateQuantity(id, quantity - 1);

}

});
//给加添加click事件
$(".jia").click(function() {

var id = $(this).attr("id").substring(0, 32);
var quantity = $("#" + id + "Quantity").val();
sendUpdateQuantity(id, Number(quantity)+1);

});

});

//请求服务器 修改数量  虽然那边传的是字符串 但是用ajax引擎 的json格式解析就传到result的对象格式

function sendUpdateQuantity(id, quantity) {
$.ajax({
async : false,
cache : false,
url : "/goods/CartItemServlet",
data : {
method : "updateQuantity",
cartItemId : id,
quantity : quantity
},
type : "POST",
dataType : "json",
success : function(result) {
//修改数量
$("#" + id + "Quantity").val(result.quantity);
//修改小计
$("#" + id + "Subtotal").val(result.subtotal);
//重新计算总计
showTotal();
}

});

}


CartItemServlet

//修改数量
public String updateQuantity(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
String cartItemId=req.getParameter("cartItemId");
int quantity=Integer.parseInt(req.getParameter("quantity"));
CartItem cartItem=cartItemService.updateQuantity(cartItemId, quantity);

//ajax调用返回的为json格式的对象

//\为转义双引号字符串
StringBuilder sb=new StringBuilder("{");
sb.append("\"quantity\"").append(":").append(cartItem.getQuantity());
sb.append(",");
sb.append("\"subtotal\"").append(":").append(cartItem.getSubtotal());
sb.append("}");
System.out.println(sb);
resp.getWriter().print(sb);
return null;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: