① 在java中,怎麼通過javascript來實現購物車里所有商品價格的總價結算
用JQuery選擇器,操作DOM元素,進行商品加減操作(動態數據可以參考ajax技術)
② jquery實現購物車物品加減 沒效果,求解
你選擇器來取錯了,沒取到兩個按鈕:自
注意看,#是 id選擇器,class選擇器是以「.」開頭的。
你的代碼裡面 加減兩個按鈕的 id分別為:add1 和 min1 而它們的class為: add和min
所以正確的做法是
$("#add") ---> $("#add1") 、 $("#min") ---> $("#min1")
或者
$("#add") ---> $(".add") 、 $("#min") ---> $(".min")
有不明白的歡迎追問^_^
③ 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實現的購物車表單金額統計出不來結果
<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】計算購物車內商品總價!
<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實現的購物車商品數量變化,價格隨之變動,但是總價格怎麼跟著變啊
------------------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>
------------------------------------------------
上面是我根據你的描述,進行了適當修改後的片段~~
基本原理就是對表格中的總價列進行了累加計算,最後寫到 」商品總金額「的位置。
⑧ jquery商城購物車結算頁面數據是怎麼傳輸的
你指的是購物車模塊,我做個這個模塊,我給你個思路。
購物車頁面里有所買的商專品,並屬且有商品的價格,還有所有商品的價格的總和。這個總和應該是你從後台獲取過來的吧。當你點擊結算的時候,這個值一參數的形式先傳到後台,在從後台帶著這個參數返回到結算頁面,
⑨ 基於JavaScript jQuery如何把購物車的商品信息渲染到訂單頁面
OK 幫你搞定。
⑩ 如何使用jquerymobile 中的庫 來實現購物車自動計算
js部分的源代碼如下:
$(function() {
var adds=$('.add');
var mins =$('.min');
var selects = $('.goodsList input[type=checkbox]');
// $('.fourthTab').children('.num').eq(1).val(40);
// $('.fourthTab').siblings('.price').eq(1).text(1600);
// $('#total').text(
// parseFloat($('.fourthTab').children('.num').eq(1).val())
// *
// parseFloat( $('.fourthTab').siblings('.price').eq(1).text())
// )
adds.on('click',function(){
var num= $(this).siblings('.num');
console.log("fasdfasd");
num.val(parseInt(num.val())+1);
})
mins.on('click',function(){
var num =$(this).siblings('.num');
if(num.val()>1) {
num.val(parseInt(num.val()) - 1);
}
})