Javascript 更新变量的值
单击“添加到购物车”时,该值将添加到“.total Cart”,在中选择一个选项后,该选项值将添加到购物车的总值并显示在“.total all”中。但当您再次单击“添加到购物车”时,“.total all”的值不会改变。只有在中选择了另一个选项时,才会更新该选项。是否有办法自动更新“.total all”的值 ●Javascript 更新变量的值,javascript,html,jquery,arrays,Javascript,Html,Jquery,Arrays,单击“添加到购物车”时,该值将添加到“.total Cart”,在中选择一个选项后,该选项值将添加到购物车的总值并显示在“.total all”中。但当您再次单击“添加到购物车”时,“.total all”的值不会改变。只有在中选择了另一个选项时,才会更新该选项。是否有办法自动更新“.total all”的值 ● //收费选择 $(文档).ready(函数(){ var sheetURL= "https://spreadsheets.google.com/feeds/list/1lyCo_
//收费选择
$(文档).ready(函数(){
var sheetURL=
"https://spreadsheets.google.com/feeds/list/1lyCo_s17CxGzI2n83_H2IKTTE-ot9Pam1ZyC8t6qZmE/2/public/values?alt=json";
$.getJSON(sheetURL,函数(数据){
var entryData=data.feed.entry;
控制台日志(数据);
each(entryData,function()){
$(“#selectID”).append(
'选择'+this.gsx$name.$t+'$'+this.gsx$price.$t+''
);
});
});
});
var shoppingCart=(函数(){
购物车=[];
//建造师
功能项(名称、价格、数量){
this.name=名称;
这个价格=价格;
this.count=计数;
}
var obj={};
//添加到购物车
obj.addItemToCart=函数(名称、价格、计数){
用于(购物车中的var项目){
if(购物车[项目]。名称===名称){
购物车[商品]。计数++;
回来
}
}
var项目=新项目(名称、价格、数量);
推车推(物品);
}
//总购物车
obj.totalCart=函数(){
var totalCart=0;
用于(购物车中的var项目){
totalCart+=购物车[项目]。价格*购物车[项目]。计数;
}
返回编号(totalCart.toFixed(2));
}
返回obj;
})();
$(文档).ready(函数(){
var sheetURL4=”https://spreadsheets.google.com/feeds/list/1lyCo_s17CxGzI2n83_H2IKTTE-ot9Pam1ZyC8t6qZmE/1/public/values?alt=json";
$.getJSON(sheetURL4,函数(data4){
var entryData4=data4.feed.entry;
console.log(data4);
each(entryData4,function()){
$(“#内容”)。追加(
此.gsx$name.$t+'
$'+此.gsx$price.$t+'
'
);
});
});
$.getJSON(sheetURL4,函数(data4){
$('.add to cart')。单击(函数(事件){
event.preventDefault();
变量名称=$(this.data('name');
var price=+$(this).data('price')。替换(/,/,');
控制台日志(价格);
//console.log($(this.data('price'));
shoppingCart.addItemToCart(名称、价格、1);
displayCart();
});
});
});
函数displayCart(){
var total=shoppingCart.totalCart();
$(“#selectID”).change(函数(){
var totalWithTax=$(this.val();
$('.total tax').html(totalWithTax);
var SUMTOTALL=总计++totalWithTax;
$('.total all').html(sumtottall.toFixed(2));
});
$('.total cart').html(total.toFixed(2));
}
displayCart();
小计:$
税额:$
总计:$
试试这个-
$.getJSON(sheetURL4, function (data4) {
$('.add-to-cart').click(function (event) {
...
shoppingCart.addItemToCart(name, price, 1);
$('.total-all').html((shoppingCart.totalCart() + Number($("#selectID").val())).toFixed(2)); // add this, it will update total amount
displayCart();
});
});
每当使用
$(“#selectID”)将任何项目添加到购物车时,您可以在选择框上调用更改事件。触发器('change')
,以便更新总值
演示代码:
var shoppingCart=(函数(){
购物车=[];
//建造师
功能项(名称、价格、数量){
this.name=名称;
这个价格=价格;
this.count=计数;
}
var obj={};
//添加到购物车
obj.addItemToCart=函数(名称、价格、计数){
用于(购物车中的var项目){
if(购物车[项目]。名称===名称){
购物车[商品]。计数++;
回来
}
}
var项目=新项目(名称、价格、数量);
推车推(物品);
}
//总购物车
obj.totalCart=函数(){
var totalCart=0;
用于(购物车中的var项目){
totalCart+=购物车[项目]。价格*购物车[项目]。计数;
}
返回编号(totalCart.toFixed(2));
}
返回obj;
})();
$(文档)。在('单击','上。添加到购物车',函数(事件){
event.preventDefault();
变量名称=$(this.data('name');
var price=+$(this).data('price')。替换(/,/,');
shoppingCart.addItemToCart(名称、价格、1);
$(“#selectID”).trigger('change')//调用select
});
//像这样使用,因为选择框是动态创建的
$(文档).on('change','#selectID',function(){
var total=shoppingCart.totalCart();
var totalWithTax=$(this.val();
$('.total tax').html(totalWithTax);
var SUMTOTALL=总计++totalWithTax;
$('.total all').html(sumtottall.toFixed(2));
$('.total cart').html(total.toFixed(2));
});代码>
项目1
$10
项目2
$20
项目
3.
30美元
选择
税款1元1角
选择
税款2元2角
选择
税款3元3角
小计:美元
税额:$
总计:$
谢谢您的回答:D