当前位置:首页 » 豪车价格 » jquery购物车价格

jquery购物车价格

发布时间: 2021-07-18 17:24:47

⑴ jquery 实现加入购物车功能

参考以下代码:

注意需要导入jquery.js.

<!DOCTYPEhtml>
<html>
<head>
<title>购物车----jQuery</title>
<metacharset="utf-8"/>
<styletype="text/css">
h1{
text-align:center;
}
table{
margin:0auto;
width:60%;
border:2pxsolid#aaa;
border-collapse:collapse;
}
tableth,tabletd{
border:2pxsolid#aaa;
padding:5px;
}
th{
background-color:#eee;
}
</style>
<scripttype="text/javascript"src="./js/jquery.js"></script>
<scripttype="text/javascript">
functionadd_shoppingcart(btn){//将btn(dom)转换为jQuery对象
//先获取商品名字和单价还有库存以备后面使用
var$tds=$(btn).parent().siblings();
//$tds.eq(0)是jQuery对象$tds[0]是DOM对象
varname=$tds.eq(0).html();//string
varprice=$tds.eq(1).html();//string
varstock=$tds.eq(3).html();//string

//查看库存是否还有<=0
if(stock<=0){
return;
}

//无论购物车中是否有该商品,库存都要-1
$tds.eq(3).html(--stock);

//在添加之前确定该商品在购物车中是否存在,若存在,则数量+1,若不存在则创建行
var$trs=$("#goods>tr");
for(vari=0;i<$trs.length;i++){
var$gtds=$trs.eq(i).children();
vargName=$gtds.eq(0).html();
if(name==gName){//若存在
varnum=parseInt($gtds.eq(2).children().eq(1).val());
$gtds.eq(2).children().eq(1).val(++num);//数量+1
//金额从新计算
$gtds.eq(3).html(price*num);
return;//后面代码不再执行
}
}
//若不存在,创建后追加
varli=
"<tr>"+
"<td>"+name+"</td>"+
"<td>"+price+"</td>"+
"<tdalign='center'>"+
"<inputtype='button'value='-'onclick='decrease(this);'/>"+
"<inputtype='text'size='3'readonlyvalue='1'/>"+
"<inputtype='button'value='+'onclick='increase(this);'/>"+
"</td>"+
"<td>"+price+"</td>"+
"<tdalign='center'>"+
"<inputtype='button'value='x'onclick='del(this);'/>"+
"</td>"+
"</tr>";
//追加到#goods后面
$("#goods").append($(li));

//总计功能
total();
}

//辅助方法--单击购物车中的"+""-""x"按钮是找到相关商品所在td,以jQuery对象返回
functionfindStock(btn){
varname=$(btn).parent().siblings().eq(0).html();//获取商品名字
//注意table默认有行分组,若此处使用$("#table1>tr:gt(0)")则找不到任何tr
var$trs=$("#table1>tbody>tr:gt(0)");
for(vari=0;i<$trs.length;i++){
varfName=$trs.eq(i).children().eq(0).html();
if(name==fName){//找到匹配的商品
return$trs.eq(i).children().eq(3);
}
}
}

//增加"+"功能
functionincrease(btn){
//获取该商品库存看是否<=0
var$stock=findStock(btn);
varstock=$stock.html();
if(stock<=0){
return;
}
//库存-1
$stock.html(--stock);
//购物车数据改变
var$td=$(btn).prev();
varnum=parseInt($td.val());//number
//num此时为number类型(在计算时会自动转换为number类型)
$td.val(++num);
//获取单价,再加计算前要先转换为number类型
varprice=parseInt($(btn).parent().prev().html());
$(btn).parent().next().html(num*price);

//总计功能
total();
}

//减少"-"功能
functiondecrease(btn){
//该商品数量=1时候不能再减少
varnum=parseInt($(btn).next().val());
if(num<=1){
return;
}
var$stock=findStock(btn);
//库存+1
varstock=$stock.html();
$stock.html(++stock);
//商品数量-1
$(btn).next().val(--num);
//从新计算金额
varprice=parseInt($(btn).parent().prev().html());
$(btn).parent().next().html(price*num);

//总计功能
total();
}

//"x"删除按钮功能
functiondel(btn){
//将商品数量归还库存
var$stock=findStock(btn);
varstock=parseInt($stock.html());
varnum=parseInt($(btn).parent().prev().prev().children().eq(1).val());
$stock.html(num+stock);
//清空改行商品列表
$(btn).parent().parent().remove();

//总计功能
total();
}
//总计功能
functiontotal(){
//获取所有购物车中的trs
var$trs=$("#goodstr");
varamount=0;
for(vari=0;i<$trs.length;i++){
varmoney=parseInt($trs.eq(i).children().eq(3).html());
amount+=money;
}
//写入总计栏
$("#total").html(amount);
}
</script>
</head>
<body>
<h1>真划算</h1>
<tableid="table1">
<tr>
<th>商品</th>
<th>单价(元)</th>
<th>颜色</th>
<th>库存</th>
<th>好评率</th>
<th>操作</th>
</tr>
<tr>
<td>罗技M185鼠标</td>
<td>80</td>
<td>黑色</td>
<td>5</td>
<td>98%</td>
<tdalign="center">
<inputtype="button"value="加入购物车"onclick="add_shoppingcart(this);"/>
</td>
</tr>
<tr>
<td>微软X470键盘</td>
<td>150</td>
<td>黑色</td>
<td>9028</td>
<td>96%</td>
<tdalign="center">
<inputtype="button"value="加入购物车"onclick="add_shoppingcart(this);"/>
</td>
</tr>
<tr>
<td>洛克iphone6手机壳</td>
<td>60</td>
<td>透明</td>
<td>672</td>
<td>99%</td>
<tdalign="center">
<inputtype="button"value="加入购物车"onclick="add_shoppingcart(this);"/>
</td>
</tr>
<tr>
<td>蓝牙耳机</td>
<td>100</td>
<td>蓝色</td>
<td>8937</td>
<td>95%</td>
<tdalign="center">
<inputtype="button"value="加入购物车"onclick="add_shoppingcart(this);"/>
</td>
</tr>
<tr>
<td>金士顿U盘</td>
<td>70</td>
<td>红色</td>
<td>482</td>
<td>100%</td>
<tdalign="center">
<inputtype="button"value="加入购物车"onclick="add_shoppingcart(this);"/>
</td>
</tr>
</table>

<h1>购物车</h1>
<table>
<thead>
<tr>
<th>商品</th>
<th>单价(元)</th>
<th>数量</th>
<th>金额(元)</th>
<th>删除</th>
</tr>
</thead>
<tbodyid="goods">
</tbody>
<tfoot>
<tr>
<tdcolspan="3"align="right">总计</td>
<tdid="total"></td>
<td></td>
</tr>
</tfoot>
</table>
</body>
</html>

最终效果图:

⑵ jquery js实现的购物车商品数量变化,价格随之变动,但是总价格怎么跟着变啊

按照你的公式计算并更新一下不行吗?
如果你不会写,贴出你的代码。。。

⑶ 请高手帮我看看,这个jQuery实现的购物车表单金额统计出不来结果

<tr class="tdprice">
<td class="tdprice"><span>单价:</span><span class="price">1.95</span></td>

这里出现两个tdprice,,很可能导致循环错乱,

建议修改方案,给tr一个id吧,
按照你的产品id序号给,比如:
<tr id="trprice_<% =id %>" class="trprice">....</tr>
$(".add").click(function(){
.....
var trpriceObj = $(this).parents("trprice").attr("id");
setTotal(trpriceObj);//发送某行dom节点,然后根据节点查找价格数量来计算总价
})

⑷ 你好,jquery实现的购物车商品数量变化,价格随之变动,但是总价格怎么跟着变,

贴代码吧。。不然不知道你的问题出在哪。。

⑸ jQuery thinkphp 购物车多物品数量的加减+总价计算

(1)、js里用+=就是连接的意思,不是累加的意思,所以不能用s+=,需要用s=XXX+s。
(2)、如果+1的时候,数据库也+1,这块需要用到ajax,当你单机的时候,触发ajax
$.post("url",{"id":"商品id"},function(data){

})
url填写一个地址,把商品的id发到处理页,就可以实现了

⑹ 如何用jquery实现购物车加减

直接删除就是了。不过现在都在赛客宝贝街购物。正品,选择多。

⑺ 【jquery】计算购物车内商品总价!

<script type="text/javascript" language="javascript">
$(function(){
// $("dd>input").each(function(index,domEle){
// alert(this.value);
// });
var total=0;
var price,num;
$("dd:has(input)").each(function(index,domEle){
//alert($(domEle).text());
price=$("input:text",domEle)[0].value;
num=parseFloat($(domEle).text());
total+=price*num;
alert(total);
});
});
</script>现学现卖

⑻ 如何用jquery写多个购物车的数量曾减,我用jquery写了但只第一个购物车增减有用,其它的无效,代码如下:

这个时候就像前面大哥说的 不能用id来表示了 可以用class
还有你的这个结构是不规范的 id一个页面只能是唯一的
为了不同时改变 其他的购物车的数量 可以来找到相对的

这个结构:
<div>
<p>单价:3.95</p>
<input class="min" name="" type="button" value="-" />
<input class="text_box" name="" type="text" value="4" />
<inputclass="add" name="" type="button" value="+" />
<p>总价:<label class="total"></label></p>
</div>
<div>
<p>单价:3.95</p>
<input class="min" name="" type="button" value="-" />
<input class="text_box" name="" type="text" value="4" />
<input class="add" name="" type="button" value="+" />
<p>总价:<label class="total"></label></p>
</div>

把每个购物车用一个div包起来

js:
$(function(){
//var t = $("#text_box");
$(".add").click(function(){
var t= $(this).parent().find(".text_box"); //根据这个来找到它相对的元素 当然也可以直接 //$(this).prev(); 这个直接来找到
t.val(parseint(t.val()+1);
setTotal($(this),t.val());
})
$(".min").click(function(){
var t= $(this).parent().find(".text_box"); //根据这个来找到它相对的元素 当然也可以直接 //$(this).next(); 这个直接来找到
t.val(parseint(t.val()-1);
setTotal($(this),t.val());
})
function setTotal(obj,number){
var total=number*$(obj).parent().find("p:first").text(); //这里算出总价
$(obj)).parent().find("total").html(total.toFixed(2));
}
// setTotal();
})

给一个建议 以后要想做好东西 布局一定要好

一个好的结构 才能让你任意操作

⑼ jquery商城购物车结算页面数据是怎么传输的

你指的是购物车模块,我做个这个模块,我给你个思路。
购物车页面里有所买的商品,并且有商品的价格,还有所有商品的价格的总和。这个总和应该是你从后台获取过来的吧。当你点击结算的时候,这个值一参数的形式先传到后台,在从后台带着这个参数返回到结算页面,

⑽ jquery实现的购物车商品数量变化,价格随之变动,但是总价格怎么跟着变啊

------------------javascript -------------------

function jia(id){
var t = $("#text_box_"+id);
var _price = parseInt($("#price_"+id).text());
var _val = parseInt(t.val())+1;
var result = (_val*_price).toFixed(2) ;
t.val(_val);
$("#total_"+id).html(result);
$("#totalmoney").html(getSum());
}
function getSum(){
var sum = 0;
$.each($("td>span[id^='total_']"),function(){
var _val = parseFloat(this.innerText);
sum += _val;
})
return sum;
}

--------------------- html 片段---------------------

<tr>
<td><span class="b red" id="price_1">69</span><span>¥</span></td>
<td><img src="../image/-.gif"align="absmiddle"onclick="jian(1)"/><input id="text_box_1" name="count" type="text" class="put1" value="1"/><img src="../image/-.gif" align="absmiddle" onclick="jia(1)"/></td>
<td><span class="b red" id="total_1">69</span><span>¥</span></td>
<td>删除</td>
</tr>

------------------------------------------------
上面是我根据你的描述,进行了适当修改后的片段~~

基本原理就是对表格中的总价列进行了累加计算,最后写到 ”商品总金额“的位置。

热点内容
白色秦内饰改装 发布:2024-05-17 12:13:36 浏览:261
镇江本田汽车4s店地址 发布:2024-05-17 12:07:45 浏览:759
新款低配宝来内饰图片 发布:2024-05-17 12:04:45 浏览:175
上海gmc内饰翻新改装 发布:2024-05-17 12:04:06 浏览:318
长安cs75plus内饰氛围灯视频 发布:2024-05-17 11:38:14 浏览:965
2018g500奔驰内饰 发布:2024-05-17 11:27:43 浏览:108
010丰田七座商务车 发布:2024-05-17 11:18:43 浏览:276
哈弗h5能越野吗 发布:2024-05-17 10:53:01 浏览:67
大众汽车后期维修费用高吗 发布:2024-05-17 10:49:30 浏览:797
半挂内饰空间图片 发布:2024-05-17 10:25:04 浏览:570