jQuery实现一个简单的购物车功能

最近由于工作需要的原因,开始系统学习jQuery的知识,然后跟着一个视频教程做了一个购物车的功能,现总结如下。

第一步:准备HTML页面,代码如下:

<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript"   src="jquery.js"></script>
<title>购物车</title>
<style type="text/css">
h1{
    text-align:center}
table{
    margin:0 auto;
    width:60%;
    border:2px solid #09C;
    border-collapse:collapse}
table th,table td{
    border:2px solid #09C;
    padding:5px;

    }
th{
    background-color:#0CC;}
</style>
<script type="text/javascript">

</script>
</head>
<body>
<h1>真划算</h1>
<table>
    <tr>
        <th>商品</th>
        <th>单价</th>
        <th>颜色</th>
        <th>库存</th>
        <th>好评率</th>
        <th>操作</th>
    </tr>
    <tr>
        <td>罗技鼠标</td>
        <td>80</td>
        <td>黑色</td>
        <td>893</td>
        <td>98%</td>
        <td align="center"><input type="button" value="加入购物车" onclick="addShopping(this)"/></td>
    </tr>
    <tr>
        <td>微软键盘</td>
        <td>150</td>
        <td>黑色</td>
        <td>100</td>
        <td>98%</td>
        <td align="center"><input type="button" value="加入购物车" onclick="addShopping(this)"/></td>
    </tr>
    <tr>
        <td>手机壳</td>
        <td>60</td>
        <td>透明</td>
        <td>200</td>
        <td>98%</td>
        <td align="center"><input type="button" value="加入购物车" onclick="addShopping(this)"/></td>
    </tr>
    <tr>
        <td>耳机</td>
        <td>100</td>
        <td>蓝色</td>
        <td>302</td>
        <td>98%</td>
        <td align="center"><input type="button" value="加入购物车" onclick="addShopping(this)"/></td>
    </tr>

</table>

<h1>购物车</h1>
<table>
<thead>
    <tr>
    <td>商品</td>
    <td>单价</td>
    <td>数量</td>
    <td>金额</td>
    <td>删除</td>
    </tr>
</thead>
<tbody id="goods">
<!--
    <tr>

        <td>罗技鼠标</td>
        <td>80</td>
        <td>
        <input type="button" value="-"/>
        <input type="text" size="3" readonly="readonly"/>
        <input type="button" value="+"/>
        </td>
        <td>80</td>
        <td align="center">
        <input type="button" value="*"/>
        </td>
    </tr>-->
</tbody>
<tfoot>
    <tr>
       <td colspan="3" align="right">总计</td>
       <td></td>
       <td></td>
    </tr>
</tfoot>
</table>
</body>
</html>

第二步:实现增加物品的功能代码:

<script type="text/javascript">

    function addShopping(btn){
        var tds=$(btn).parent().siblings();//获取当前元素的父节点的全部兄弟节点,就是当前这行的所有td
        var name=$(tds).eq(0).text();//获取商品名称的td的文本值
        var price=$(tds).eq(1).text();//获取商品价格的td的文本值
        var html = $("<tr>"    //开始拼接HTML元素,将取到的东西展示到对用的input中
        +"<td>"+name+"</td>"
        +"<td>"+price+"</td>"
        +"<td>"
        +"<input type=‘button‘ value=‘-‘/>"
        +"<input type=‘text‘ size=‘3‘ readonly=‘readonly‘/>"
        +"<input type=‘button‘ value=‘+‘/>"
        +"</td>"
        +"<td>"+price+"</td>"
        +"<td align=‘center‘>"
        +"<input type=‘button‘ value=‘*‘/>"
        +"</td></tr>");
        $("#goods").append(html);
        }

第三步:实现将购物车中的物品删除的基本功能

function deletShopping(btn){//给上一步你拼接的删除按钮上绑定一个这样的方法
            $(btn).parent().parent().remove();
            }

第四步:增加物品和删除物品的基本功能完成以后,我们就要开始处理细节问题了,同一件物品的增加或者减少

function increas(btn){
                var text=$(btn).prev();
                var acount = parseInt($(text).val());
                $(text).val(++acount);
                //获取单价
                var tds = $(text).parent().siblings();
                var price = parseInt($(tds).eq(1).text());
                //获取总价
                var sum = price*acount;
                $(tds).eq(2).text(sum);
}
function decrease(btn){
                    var text=$(btn).next();
                var acount = parseInt($(text).val());
                $(text).val(--acount);
                if(acount<1){
                    return;
                    }
                //获取单价
                var tds = $(text).parent().siblings();
                var price = parseInt($(tds).eq(1).text());

                //获取总价
                var sum = price*acount
                $(tds).eq(2).text(sum);
}

最后,算所有商品合计:

function total(){
                    var trs = $("#goods tr");
                    var sum=0;
                    for(var i=0;i<trs.length;i++){
                        var td = trs.eq(i).children().eq(3);
                        var price = parseInt($(td).text());
                        //alert(price);
                        sum = sum + price;

                        }
                        $("#total").text(sum);
                    }    

然后将total方法放在前四个方法后面,每次事件触发都要调用合计的方法。

好了,到这里呢,一个简单的购物车功能就做完了,最后附图一张,大功告成!

时间: 2024-12-27 10:30:15

jQuery实现一个简单的购物车功能的相关文章

使用MongoDB和JSP实现一个简单的购物车系统

1 问题描述 利用JSP编程技术实现一个简单的购物车程序,具体要求如下. (1)用JSP编写一个登录页面,登录信息中有用户名和密码,分别用两个按钮来提交和重置登录信息. (2)编写一个JSP程序来获取用户提交的登录信息并查询数据库,如果用户名为本小组成员的名字且密码为对应的学号时,采用JSP内置对象的方法跳转到订购页面(显示店中商品的种类和单价等目录信息):否则采用JSP动作提示用户重新登录(注:此页面上要包含前面的登录界面). (3)当顾客填好所需商品的数量并点击提交按钮时,将前面订购的商品放

利用JSP编程技术实现一个简单的购物车程序

实验二   JSP编程 一.实验目的1. 掌握JSP指令的使用方法:2. 掌握JSP动作的使用方法:3. 掌握JSP内置对象的使用方法:4. 掌握JavaBean的编程技术及使用方法:5. 掌握JSP中数据库编程方法: 二.实验要求 : 利用JSP编程技术实现一个简单的购物车程序,具体要求如下. (1)用JSP编写一个登录页面,登录信息中有用户名和密码,分别用两个按钮来提交和重置登录信息. (2)编写一个JSP程序来处理用户提交的登录信息,如果用户名为本小组成员的名字且密码为对应的学号时,采用J

PHP实现一个简单url路由功能

如果一个页面的内容呈现,需要根据url上传递的参数来进行渲染.很多时候可能是这样子写:xxx.com/xx?c=x&m=x& t=..,而我们看到的url往往是这样子的(以新浪微游戏的咖啡恋人为例) game.weibo.com/ilovecoffee….这种URL设计看上去比前一种更好一点:) 如果我们访问一下不存在的游戏应用,例如game.weibo.com/ilovecoffee222,则会输出如下的错误提示: game.weibo.com后面匹配到的项,指向了某个php页面,然后根

使用JS完成一个简单的计算器功能

使用JS完成一个简单的计算器功能.实现2个输入框中输入整数后,点击第三个输入框能给出2个整数的加减乘除. 提示:获取元素的值设置和获取方法为:例:赋值:document.getElementById("id").value = 1: 取值:var = document.getElementById("id").value: 任务 第一步: 创建构建运算函数count(). 第二步: 获取两个输入框中的值和获取选择框的值. 提示:document.getElement

JQuery中一个简单的表单验证的实例

html代码如下: <!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> <meta http-equiv=&quo

第一次来博客园先用jquery写一个简单菜单收缩效果

<!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"><head>    <meta charset="utf-8" />    <title></title>    <script src="jquery-1.7.2.min.js"></script&g

用jquery写一个无刷新评论功能

<1> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <script src="Jquery/jquery-1.10.2.js" type="text/javascript"></script> <script type="text/javascript&quo

jQuery使用cookie与json简单实现购物车功能

本文实例讲述了jQuery使用cookie与json简单实现购物车的方法.分享给大家供大家参考,具体如下: 1.生成一个cookie 用来存储商品的id  String类型 2.添加商品id的时候 把cookie转化成数组,并检查是否已经包含了.没有包含用js push重新生成新的数组. 3.把数组转化成String 用cookie存储. 以下是jquery对cookie和JSON的操作方法 $.cookie("cart","ids",{expires:-7,pat

教你用Django实现一个简单的GIS功能

地理信息系统(Geographic Information System或 Geo-Information system,GIS)有时又称为"地学信息系统".它是一种特定的十分重要的空间信息系统.它是在计算机硬.软件系统支持下,对整个或部分地球表层(包括大气层)空间中的有关地理分布数据进行采集.储存.管理.运算.分析.显示和描述的技术系统. 看上去挺简单,但是实现起来是挺复杂的,这里面涉及到专用的地理数据库,图层,空间查询等等. 这里,我使用的是Django GEO框架实现一个简单的通