jsp-JQuery关于购物车的问题

问题描述

JQuery关于购物车的问题

这个是JQuery的代码。

 <script type="text/javascript">
$(function(){
 $("#quantity").keyup(function(){
  if(isNaN($(this).val()) || parseInt($(this).val())<1){
   $(this).val("1");
   $("#totalPrice").html($("#price").val());
   return;
  }
  var total = parseFloat($("#price").val())*parseInt($(this).val());
  $("#totalPrice").html(total.toFixed(2));
 })

})
/*商品数量+1*/
function numAdd(){
 var num_add = parseInt($("#quantity").val())+1;
 if($("#quantity").val()==""){
  num_add = 1;
 }
 $("#quantity").val(num_add);
 var total = parseFloat($("#price").val())*parseInt($("#quantity").val());
 $("#totalPrice").html(total.toFixed(2));
}
/*商品数量-1*/
function numDec(){
 var num_dec = parseInt($("#quantity").val())-1;
 if(num_dec<1){
  //购买数量必须大于或等于1
  alert("not lt 1");
 }else{
  $("#quantity").val(num_dec);
  var total = parseFloat($("#price").val())*parseInt($("#quantity").val());
  $("#totalPrice").html(total.toFixed(2));
 }
}
</script>

这个是JSP里面的代码

     for(int i=0;i<cartquantity;i++)
        {
            String cartproduct_id=productidlist.get(i).toString();
            GetsSingleInfoFromProduct gsifp=new GetsSingleInfoFromProduct();
            String cartproduct_name=gsifp.getSingleProductName(cartproduct_id);
            String cartproduct_type=gsifp.getSingleProductType(cartproduct_id);
            float cartproduct_price=Float.parseFloat(productpricelist.get(i).toString());
    %>
    <table cellpadding="0" cellspacing="0" class="gwc_tb2" id="tab">
        <tr>
            <td class="tb2_td2"><a href="Single-<%out.println(cartproduct_id);%>.jsp"><img src="images/<%out.println(cartproduct_id);%>.jpg"/></a></td>
            <td class="tb2_td3"><a href="Single-<%out.println(cartproduct_id);%>.jsp"><%out.println(cartproduct_name);%></a></td>
            <td class="tb1_td4"><%out.println(cartproduct_type);%></td>
            <td class="tb1_td5">
                <span  id="min" style=" width:20px; height:18px;border:1px solid #ccc;" onclick="numDec()"/>-</span>
                <input id="quantity" class="product_quentity" name="" type="text" value="1" style=" width:30px; text-align:center; border:1px solid #ccc;"/>
                <span  id="add" style="width:20px; height:18px;border:1px solid #ccc;" onclick="numAdd()"/>+</span>
            </td>
            <td class="tb1_td6"><input id="price" class="productprice" style="color:#ff5500;font-size:14px; font-weight:bold;" value="<%=cartproduct_price%>"></td>
            <td class="tb1_td7"><a href="#">删除</a></td>
        </tr>
    </table>
        <%} %>
    <table cellpadding="0" cellspacing="0" class="gwc_tb3" >
        <tr>
            <td class="tb3_td2">已选商品 <label id="shuliang" style="color:#ff5500;font-size:14px; font-weight:bold;"><%out.print(cartquantity);%></label> 件</td>
            <td class="tb3_td3">合计(不含运费):<span>¥</span><span style=" color:#ff5500;"><span id="totalPrice" style="color:#ff5500;font-size:14px; font-weight:bold;"></span></span></td>
            <td class="tb3_td4"><span id="jz1">结算</span><a href="#" style=" display:none;"  class="jz2" id="jz2">结算</a></td>
        </tr>
    </table>
问题是我现在只对查询出的第一条结果有作用,后来想到动态生成的话id重复了,但
使用class去求和的话还是有问题

解决方案

id不能重复,用样式选择器,然后改为dom关系操作

 <table cellpadding="0" cellspacing="0" class="gwc_tb2" id="tab">
        <tr>
            <td class="tb2_td2"><a href="Single-<%out.println(cartproduct_id);%>.jsp"><img src="images/<%out.println(cartproduct_id);%>.jpg"/></a></td>
            <td class="tb2_td3"><a href="Single-<%out.println(cartproduct_id);%>.jsp"><%out.println(cartproduct_name);%></a></td>
            <td class="tb1_td4"><%out.println(cartproduct_type);%></td>
            <td class="tb1_td5">
                <span  id="min" style=" width:20px; height:18px;border:1px solid #ccc;" onclick="numDec(this)"/>-</span><!--传入DOM对象--->
                <input id="quantity" class="product_quentity" name="" type="text" value="1" style=" width:30px; text-align:center; border:1px solid #ccc;"/>
                <span  id="add" style="width:20px; height:18px;border:1px solid #ccc;" onclick="numAdd(this)"/>+</span><!--传入DOM对象--->
            </td
        <td class="tb1_td6"><input id="price" class="productprice" style="color:#ff5500;font-size:14px; font-weight:bold;" value="<%=cartproduct_price%>"></td>
        <td class="tb1_td7"><a href="#">删除</a></td>
    </tr>
</table>
  <script type="text/javascript">
         $(function () {
             $("input.product_quentity").keyup(function () {
                 var price = $(this).closest('table').find('input.productprice');//同个table的price控件
                 if (isNaN($(this).val()) || parseInt($(this).val()) < 1) {
                     $(this).val("1");
                     $("#totalPrice").html(price.val());
                     return;
                 }
                 var total = parseFloat(price.val()) * parseInt($(this).val());
                 $("#totalPrice").html(total.toFixed(2));
             })

         })
         /*商品数量+1*/
         function numAdd(o) {
             var quantity = $(o).closest('table').find('input.product_quentity'), price = $(this).closest('table').find('input.productprice'); ;
             var num_add = parseInt(quantity.val()) + 1;
             if (quantity.val() == "") {
                 num_add = 1;
             }
             quantity.val(num_add);
             var total = parseFloat(price.val()) * parseInt(quantity.val());
             $("#totalPrice").html(total.toFixed(2));
         }
         /*商品数量-1*/
         function numDec(o) {
             var quantity = $(o).closest('table').find('input.product_quentity'), price = $(this).closest('table').find('input.productprice'); ;
             var num_dec = parseInt(quantity.val()) - 1;
             if (num_dec < 1) {
                 //购买数量必须大于或等于1
                 alert("not lt 1");
             } else {
                 quantity.val(num_dec);
                 var total = parseFloat(price.val()) * parseInt(quantity.val());///////
                 $("#totalPrice").html(total.toFixed(2));
             }
         }
</script>
时间: 2024-12-24 09:39:59

jsp-JQuery关于购物车的问题的相关文章

jQuery实现购物车计算价格功能的方法

 这篇文章主要介绍了jQuery实现购物车计算价格功能的方法,实例分析了jQuery针对html元素的操作技巧,非常具有实用价值,需要的朋友可以参考下     本文实例讲述了jQuery实现购物车计算价格功能的方法.分享给大家供大家参考.具体如下: 目的 实现在html界面修改购物车的件数,购物车商品价格的小计和总计要修改. 实现思路 1.当点击进入界面,刷新的时候触发body内的onload=""方法,跳转到JS代码.这样做的原因是在数据库内我们只会存储某客户的准备购买的商品件数,而

java jsp session-javaweb+jsp+session 实现购物车修改商品数量的问题

问题描述 javaweb+jsp+session 实现购物车修改商品数量的问题 如何把用户输入的数量值,传递到购物车数量中去?? 解决方案 可以把 传入的值用js取出来,再把js取出的值在该显示的地方调用就行 解决方案二: 用Js方法 firstChild.nodeValue 获取 输入框中的值 然后 还是js table.rows[i].cells[i].innerHTM L赋值给商品数量那一栏 ...不懂的就百度哈

JSP+jquery使用ajax方式调用json的实现方法_JSP编程

本文实例讲述了JSP+jquery使用ajax方式调用json的实现方法.分享给大家供大家参考,具体如下: 前台: <script type="text/javascript" src="jquery-1.5.1.min.js"></script> <script type="text/javascript"> //test function test(uid) { if(confirm("确定该用户

jQuery实现购物车多物品数量的加减+总价计算_jquery

复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>jQuery实现购物

jQuery实现购物车计算价格功能的方法_jquery

本文实例讲述了jQuery实现购物车计算价格功能的方法.分享给大家供大家参考.具体如下: 目的 实现在html界面修改购物车的件数,购物车商品价格的小计和总计要修改. 实现思路 1.当点击进入界面,刷新的时候触发body内的onload=""方法,跳转到JS代码.这样做的原因是在数据库内我们只会存储某客户的准备购买的商品件数,而不会存储每类商品价格的小计和购物车内所有物品的商品总价格,初始化的目的就是为将这些数字计算出来后显示在前台界面上. 2.当更改数量输入框中每个商品的数量时,整个

jsp java 网站-购物车订单提交后,无法查看订单信息

问题描述 购物车订单提交后,无法查看订单信息 HTTP Status 500 - Unable to compile class for JSP type Exception report message Unable to compile class for JSP description The server encountered an internal error that prevented it from fulfilling this request. exception org.

JSP培训之购物车实例及小结

主要内容:l         完成购物车的其他基本功能:l         生成订单:l         小结1.购物车的其它功能对购物车的物品数量修改和物品删除功能是两外两个基本功能.实现过程与添加工程比较类似,这里只给出参考代码:1.1 模型部分文件名:CartManager.java(在上一讲的基础上修改,红色部分为添加的内容)package javabean; import java.util.ArrayList;import java.util.Iterator; public cla

JSP培训之购物车实例

    目标:l         掌握购物车的信息如何存储:l         掌握购物车常用功能的实现.主要内容:l         首先分析用户上网购物的一般过程:l         介绍采用什么样的数据结构存储购物信息:l         编写购物界面:l         完成向购物车添加物品的功能.1. 用户上网购物的一般过程在浏览物品的过程中如果对某件物品感兴趣,会添加到购物车(购物篮)中,随时可以查看购物车中的信息,如果不想要某件物品的话,可以删除,或者修改某种物品的数量,或者整个清

jQuery实现购物车数字加减效果_jquery

我们在网上购物提交订单时,在网页上一般会有一个选择数量的控件,要求买家选择购买商品的件数,开发者会把该控件做成可以通过点击实现加减等微调操作,当然也可以直接输入数字件数.本文将介绍常见的几种使用spinner数字微调器来实现数字加减的功能的方法. 左右加减数字 像京东提交订单时目前使用的是左右加减数字的效果,这个效果直接明了,操作简单.我们使用jquery.spinner.js插件实现左右加减数字,调用方法非常简单,请看演示示例1. 复制代码 代码如下: <input type="text

jquery简单购物车结算功能例子

今天在做购物车的页面,遇到结算的功能.如图: 暂时先做了点击加减数量的时候,金额变化的功能. 废话不多说,贴上代码: html: <div class="sc-mid-box">     <div class="sc-mid-list fl">         <div class="d1 fl">             <div class="d1-input fl"><