javascript购物篮删除内容
我有一个购物篮和一些javascript方法,用于实时更新内容数量和总和。 javascript更新数量和总金额通过以下方法完全同步:javascript购物篮删除内容,javascript,jquery,shopping-cart,Javascript,Jquery,Shopping Cart,我有一个购物篮和一些javascript方法,用于实时更新内容数量和总和。 javascript更新数量和总金额通过以下方法完全同步: $('#add-to-basket select').selectbox(); $('#contents select').selectbox().change(function (e) { var product = $(this).parents('.product'); var ppu
$('#add-to-basket select').selectbox();
$('#contents select').selectbox().change(function (e) {
var product = $(this).parents('.product');
var ppu = product.find('.ppu').val();
product.find('.price .wrapper .value').text($(this).val() * ppu);
var total = 0;
$('.product .price .value').each(function (index, value) {
total += +$(value).text();
});
var form = $(this).parents('form');
form.ajaxSubmit(function () {
});
$('#total .value').text(total);
});
但是'drop object from basket'方法没有更新总和…我已经设法编写了以下代码:
$('.drop-item').click(function(e) {
e.preventDefault();
var form = $(this).parents(form);
var item = $(this).parents('li');
var total = 0;
如何修改它,以便当有人从篮子中删除某些内容时,自动更新的总和(而不是通过单击刷新页面)会给我带来一些异常?
我想被自动更新,就像上面的更新篮方法一样
谢谢大家!
编辑:整个代码:
$('#add-to-basket select').selectbox();
$('#contents select').selectbox().change(function (e) {
var product = $(this).parents('.product');
var ppu = product.find('.ppu').val();
product.find('.price .wrapper .value').text($(this).val() * ppu);
var total = 0;
$('.product .price .value').each(function (index, value) {
total += +$(value).text();
});
var form = $(this).parents('form');
form.ajaxSubmit(function () {
});
$('#total .value').text(total);
});
$('#delivery #address a').qtip({
content: 'Vei putea reveni la coș dând click pe <span>Coșul Meu</span> în meniu.'
});
$('.drop-item').click(function(e) {
e.preventDefault();
var form = $(this).parents(form);
var item = $(this).parents('li');
var total = 0;
$('.product .price .value').each(function (index, value) {
total += +$(value).text();
});
$('#total .value').text(total);
item.remove();
form.ajaxSubmit(function() {});
if ($('#contents li').length < 1)
{
$('#basket').remove();
$('#basket-breadcrumbs').remove();
$('#main').append('<p class="message">Coșul tău este gol.</p>');
}
});
如果你的意思是总变量没有改变,那是因为变量的作用域。 在函数内部声明变量时,它是函数的局部变量:只有函数才能访问和操作它 因此,如果您想使total变量成为全局变量或更高的范围,这意味着更多的东西可以访问它:
$(function() {
var total = 0;
//code code code
});
现在,确保以后不会使用var语句作为total的前缀;如上所述,这将创建一个局部变量并覆盖全局变量
编辑:这是一个关于变量作用域的半途而废的解释。我建议你用谷歌或搜索Stackoverflow来找到更多关于它的信息;这在JavaScript中非常重要
如果您的意思是从某处删除某个元素,请使用。我可能缺少某些内容,但在下拉项中单击,您实际在哪里更改了某些内容?你只需要声明变量,就是这样。我没有改变。。我不知道;i don’我不知道我必须做什么才能放弃这个项目。我不完全理解你的解决方案。我编辑了这个问题,添加了整个代码。非常感谢。我仍然不知道你到底想做什么。你到底想更新什么?显示删除多少的价格?删除篮子项目后的总金额