servlet-求助啊怎么将数据库里读出的价格gprice显示到这个购物车的jsp页面中

问题描述

求助啊怎么将数据库里读出的价格gprice显示到这个购物车的jsp页面中

这是我的代码,但是不会修改价格那个label,应该将我自己数据库的数据怎么贴进去,当我点击+或者-来选择数量的时候,后面的价格会跟着变,总价也会跟着变呢

 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@page import="Db.Db"%>
<%@ page import="java.sql.*"%>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://"
            + request.getServerName() + ":" + request.getServerPort()
            + path + "/";
%>
<title>购物车</title>

<link href="css/index.css" rel="stylesheet" type="text/css" />

<script type="text/javascript" src="js/jquery.1.4.2-min.js"></script>
<script type="text/javascript" src="js/Calculation.js"></script>
<script type="text/javascript">
$(document).ready(function () {

    //jquery特效制作复选框全选反选取消(无插件)
    // 全选
    $(".allselect").click(function () {
        $(".gwc_tb2 input[name=newslist]").each(function () {
            $(this).attr("checked", true);
            // $(this).next().css({ "background-color": "#3366cc", "color": "#ffffff" });
        });
        GetCount();
    });

    //反选
    $("#invert").click(function () {
        $(".gwc_tb2 input[name=newslist]").each(function () {
            if ($(this).attr("checked")) {
                $(this).attr("checked", false);
                //$(this).next().css({ "background-color": "#ffffff", "color": "#000000" });
            } else {
                $(this).attr("checked", true);
                //$(this).next().css({ "background-color": "#3366cc", "color": "#000000" });
            }
        });
        GetCount();
    });

    //取消
    $("#cancel").click(function () {
        $(".gwc_tb2 input[name=newslist]").each(function () {
            $(this).attr("checked", false);
            // $(this).next().css({ "background-color": "#ffffff", "color": "#000000" });
        });
        GetCount();
    });

    // 所有复选(:checkbox)框点击事件
    $(".gwc_tb2 input[name=newslist]").click(function () {
        if ($(this).attr("checked")) {
            //$(this).next().css({ "background-color": "#3366cc", "color": "#ffffff" });
        } else {
            // $(this).next().css({ "background-color": "#ffffff", "color": "#000000" });
        }
    });

    // 输出
    $(".gwc_tb2 input[name=newslist]").click(function () {
        // $("#total2").html() = GetCount($(this));
        GetCount();
        //alert(conts);
    });
});
//******************
function GetCount() {
    var conts = 0;
    var aa = 0;
    $(".gwc_tb2 input[name=newslist]").each(function () {
        if ($(this).attr("checked")) {
            for (var i = 0; i < $(this).length; i++) {
                conts += parseInt($(this).val());
                aa += 1;
            }
        }
    });
    $("#shuliang").text(aa);
    $("#zong1").html((conts).toFixed(2));
    $("#jz1").css("display", "none");
    $("#jz2").css("display", "block");
}
</script>

</head>

<%
String[] strgid = request.getParameterValues("addOrders");
Connection conn = null;
    Statement stmt = null;
    Statement stmt1 = null;
    ResultSet rs = null;
    conn = Db.getconn();
    stmt = conn.createStatement();

%>

<body>

<div class="gwc" style=" margin:auto;">
    <table cellpadding="0" cellspacing="0" class="gwc_tb1">
        <tr>
            <td class="tb1_td1"><input id="Checkbox1" type="checkbox"  class="allselect"/></td>
            <td class="tb1_td1">全选</td>
            <td class="tb1_td3">商品</td>
            <td class="tb1_td5">数量</td>
            <td class="tb1_td6">单价</td>
            <td class="tb1_td7">操作</td>
        </tr>
    </table>

    <!---商品加减算总数---->
    <script type="text/javascript">
    $(function () {
        var t = $("#text_box1");
        $("#add1").click(function () {
            t.val(parseInt(t.val()) + 1)
            setTotal(); GetCount();
        })
        $("#min1").click(function () {
            t.val(parseInt(t.val()) - 1)
            setTotal(); GetCount();
        })
        function setTotal() {

            $("#total1").html((parseInt(t.val()) * 9).toFixed(2));
            $("#newslist-1").val(parseInt(t.val()) * 9);
        }
        setTotal();
    })
    </script>

    <table cellpadding="0" cellspacing="0" class="gwc_tb2">
        <%
    for(int i = 0;i<strgid.length;i++) {
    int gid = Integer.parseInt(strgid[i]);
    rs = stmt.executeQuery("select * from goods where gid ="+gid);
    while(rs.next()) {
    %>
        <tr>
            <td class="tb2_td1"><input type="checkbox" value="1" name="newslist" id="newslist-1" /></td>
            <td class="tb2_td2"><a href="#"><img src="<%=rs.getString("gpicture") %>"/></a></td>
            <td class="tb2_td3"><a href="#"><%=rs.getString("gname") %></a></td>
            <td class="tb1_td5">
                <input id="min1" name=""  style=" width:20px; height:18px;border:1px solid #ccc;" type="button" value="-" />
                <input id="text_box1" name="" type="text" value="1" style=" width:30px; text-align:center; border:1px solid #ccc;" />
                <input id="add1" name="" style=" width:20px; height:18px;border:1px solid #ccc;" type="button" value="+" />
            </td>
            <td class="tb1_td6"><label id="total1"  name="total2" class="tot" " style="color:#ff5500;font-size:14px; font-weight:bold;" ><%=rs.getString("gprice") %></label></td>
            <td class="tb1_td7"><a href="#">删除</a></td>
        </tr>
        <%} 

        }%>
    </table>

    <!---商品加减算总数---->
    <script type="text/javascript">
    $(function () {
        var t = $("#text_box2");
        $("#add2").click(function () {
            t.val(parseInt(t.val()) + 1)
            setTotal(); GetCount();
        })
        $("#min2").click(function () {
            t.val(parseInt(t.val()) - 1)
            setTotal(); GetCount();
        })
        function setTotal() {

            $("#total2").html((parseInt(t.val()) * 8).toFixed(2));
            $("#newslist-2").val(parseInt(t.val()) * 8);
        }
        setTotal();
    })
    </script>

    <!---总数---->
    <script type="text/javascript">
    $(function () {
        $(".quanxun").click(function () {
            setTotal();
            //alert($(lens[0]).text());
        });
        function setTotal() {
            var len = $(".tot");
            var num = 0;
            for (var i = 0; i < len.length; i++) {
                num = parseInt(num) + parseInt($(len[i]).text());

            }
            //alert(len.length);
            $("#zong1").text(parseInt(num).toFixed(2));
            $("#shuliang").text(len.length);
        }
        //setTotal();
    })
    </script>
    <table cellpadding="0" cellspacing="0" class="gwc_tb3">
        <tr>
            <td class="tb1_td1"><input id="checkAll" class="allselect" type="checkbox" /></td>
            <td class="tb1_td1">全选</td>
            <td class="tb3_td1">
                <input id="invert" type="checkbox" />反选
                <input id="cancel" type="checkbox" />取消
            </td>
            <td class="tb3_td2">已选商品 <label id="shuliang" style="color:#ff5500;font-size:14px; font-weight:bold;">0</label> 件</td>
            <td class="tb3_td3">合计(不含运费):<span>¥</span><span style=" color:#ff5500;"><label id="zong1" style="color:#ff5500;font-size:14px; font-weight:bold;"></label></span></td>
            <td class="tb3_td4"><span id="jz1">结算</span><a href="#" style=" display:none;"  class="jz2" id="jz2">结算</a></td>
        </tr>
    </table>

</div>
</body>
</html>

解决方案

不能用id选择器,你的id都重复了,要用属性选择器,你那列是单价,应该增加一列,作为此列的小计,而不是直接覆盖单价那列.

  <table cellpadding="0" cellspacing="0" class="gwc_tb1">
        <tr>
            <td class="tb1_td1"><input id="Checkbox1" type="checkbox"  class="allselect"/></td>
            <td class="tb1_td1">全选</td>
            <td class="tb1_td3">商品</td>
            <td class="tb1_td5">数量</td>
            <td class="tb1_td6">单价</td>
            <td class="tb1_td6">小计</td><!------------增加小计列,不要直接设置单价那里------------>
            <td class="tb1_td7">操作</td>
        </tr>
    </table>
         <tr>
            <td class="tb2_td1"><input type="checkbox" value="1" name="newslist" id="newslist-1" /></td>
            <td class="tb2_td2"><a href="#"><img src="<%=rs.getString("gpicture") %>"/></a></td>
            <td class="tb2_td3"><a href="#"><%=rs.getString("gname") %></a></td>
            <td class="tb1_td5">
                <input id="min1" name=""  style=" width:20px; height:18px;border:1px solid #ccc;" type="button" value="-" />
                <input id="text_box1" name="" type="text" value="1" style=" width:30px; text-align:center; border:1px solid #ccc;" />
                <input id="add1" name="" style=" width:20px; height:18px;border:1px solid #ccc;" type="button" value="+" />
            </td>
            <td class="tb1_td6"><label id="total1"  name="total2" class="tot" " style="color:#ff5500;font-size:14px; font-weight:bold;" ><%=rs.getString("gprice") %></label></td>
            <td class="tb1_td6"></td><!------------增加小计列,不要直接设置单价那里------------>
            <td class="tb1_td7"><a href="#">删除</a></td>
        </tr>

js代码的更改

   <!---商品加减算总数---->
    <script type="text/javascript">
    $(function () {
        $("input[id='add1']").click(function (e,init) {
           var t=$(this).prev();
            if(!init){//点击按钮,不是初始化
                var v=parseInt(t.val(),10)||0;v++;
                t.val(v)
            }
            setTotal(t); GetCount();
        }).trigger('click',true)//初始化
        $("input[id='min1']").click(function (e,init) {
           var t=$(this).next();
            if(!init){//点击按钮,不是初始化
                var v=parseInt(t.val(),10)||0;v--;if(v<0)v=0;
                t.val(v)
            }
            setTotal(t); GetCount();
        }).trigger('click',true)//初始化
        function setTotal(t) {
           var tds=t.closest('tr').find('td')//得到此行所有td对象
           var td=tds.eq(5);//得到小计的td
           var lb=parseInt(tds.eq(4).find('label').text())||0//得到单价容器
           var sum=(parseInt(t.val()) * lb).toFixed(2);//小计
           td.html(sum);
           tds.eq(0).find('input').val(sum);//设置你checkbox的值
        }
        setTotal();
    })
    </script>

解决方案二:

你不是已经读出数据赋值给label了,要怎么改?

时间: 2025-01-02 17:13:33

servlet-求助啊怎么将数据库里读出的价格gprice显示到这个购物车的jsp页面中的相关文章

代码-Jsp页面中查询到MySQL数据库里的表格信息,怎样导出到本地excel

问题描述 Jsp页面中查询到MySQL数据库里的表格信息,怎样导出到本地excel jsp页面从数据库中读出了一个message表格,怎样通过jsp编写把这个表格导出到excel.最好是详细代码 解决方案 response.reset(); response.setContentType("application/vnd.ms-excel;charset=GBK"); response.setHeader("Content-Disposition", "i

对象-数据库时间类型字段在jsp页面中显示

问题描述 数据库时间类型字段在jsp页面中显示 我通过js向后台发送请求,查询数据库中的字段.其中有一个字段是date时间类型的, 查询结果在jsp页面中显示的不是时间而是Object. 解决方案 在JSP页面中显示动态时间jsp页面显示动态时间如何在JSP页面中显示当前时间 解决方案二: 前台现实的是object格式的吗? 你可以Tostring()啊 解决方案三: 格式化日期的值,或者直接Tostring 解决方案四: 吧他转为字符串在进行输出 解决方案五: 建议数据库里吧date类型转化成

thinkphp3.2 从数据库里读出的数据如何让checkbox选中

问题描述 thinkphp3.2 从数据库里读出的数据如何让checkbox选中 thinkphp3.2 从数据库里读出的数据如何让checkbox选中 表A id item 1 1,3,4 表B id itemname 1 a 2 b 3 c 4 d 表 A中的item是表B的ID 想实现的结果: 表B是用checkbox输出到模板里的, 如何查询表A一条记录让A.item和B.id对应的值在模板里的checkbox打外勾,没有的就不打勾. 急--谢谢 解决方案 http://bbs.php1

怎么样把从数据库里读出来的图片二进制流,放到image里显示?

问题描述 winform项目怎么样把从数据库里读出来的图片二进制流,放到image里显示? 解决方案 解决方案二:各位大虾救命啊解决方案三:System.Drawing.Imageimage=newSystem.Drawing.Bitmap(流,true);就可以阿.解决方案四:byte[]bts=this.getdbBytes();MemoryStreamms=newMemoryStream(bts);Imageimg=Image.FromStream(ms); 解决方案五:那怎么从数据库里读

统计图-怎样把数据库里的数据用图表显示在手机上

问题描述 怎样把数据库里的数据用图表显示在手机上 我们公司有一些业务数据,希望能够通过简单一点的实现方式,对数据进行汇总统计,然后用图表显示出来,最好在手机上也可以查看.想问一下需要做些什么?实现起来难不难? 解决方案 最简单的就是直接看网页,第二种是做一个APP 解决方案二: echarts用的canvas绘图,移动端浏览器主流浏览器都支持canvas 解决方案三: 这种当然是通过web页面了,服务器提供.然后用各种图标控件,比如百度的echarts可以很好的画出各种图形.客户端只要有浏览器就

java-使用servlet,jdbc将mysql中数据显示在jsp页面中,且实现直接更新数据库数据

问题描述 使用servlet,jdbc将mysql中数据显示在jsp页面中,且实现直接更新数据库数据 我从网上找了几篇,大多都是在JSP操作的,我想仿照http://blog.csdn.net/kakukeme/article/category/819230 该网址的例子做,但是数据却没有显示出来,所以想问下各位有没完整的可以运行的实例,给我一个. 解决方案 参考一下吧:http://download.csdn.net/detail/qq_19558705/9393750 解决方案二: ?用se

jsp页面中读取servlet中设定的session值

问题描述 这是我在servlet里设定session值的语句:request.getSession().setAttribute("valiCode",str.toString());这是我在jsp页面中读取session值的语句:StringrightCheckCode=(String)request.getSession().getValue("valiCode");可是纳闷:rightCheckCode的值为空(NULL)请人赐教... 解决方案 解决方案二:

jsp-从数据库中取出数据对应的集合,在JSP页面中遍历出一个表格,数据库中的字段对应的是表格表头名

问题描述 从数据库中取出数据对应的集合,在JSP页面中遍历出一个表格,数据库中的字段对应的是表格表头名 从数据库中取出数据对应的集合,在JSP页面中遍历出一个注册项的列表,每一项都是从数据库中的表中取出的,比如,第一行为用户名,后面是个文本框,第二行是密码,后面还是个文本框,但是有的type是text,有的是password,上传文件对应的是file,如何才能动态解决这个问题,在页面中用foreach,只写一列数据,在页面中得到所有的注册项,这种方法如果不可行,那么请问各位大神,应该如何处理比较

分页-请教一个JSP页面中&amp;amp;lt;script&amp;amp;gt;里嵌套JAVA语句的问题

问题描述 请教一个JSP页面中<script>里嵌套JAVA语句的问题 我想在script里嵌套JAVA语句,接收从另一个页面传来的变量,然后根据他来决定下面的一个span的显示方式 其实就是想通过JS做一个分页的上一页下一页的显示,比如在第一页的时候,上一页的链接隐藏,当只有一页的时候,上一页下一页都隐藏,最后一页的时候下一页隐藏,就是这种效果 大致的代码如下,请问该怎么改怎么,两个从request中取的值都是可以取到的,已经在下面当前页数:X / Y显示了,但是这段代码没有达到预期效果 v