我有一个困境
在我的网站中,我需要获取包含在模态中的范围的值
打开模态时,它的值会发生变化
当它不包含旧值
时
这是我网店中购物车的价值
当我点击添加产品到购物车时,模态被打开
我试过这段代码:
$('.ajax_add_to_cart_button').click(function()
{
if($('#layer_cart').css('display') == 'block')
{
var total_product = $('.ajax_block_products_total').text().replace('€', '').replace(',', '.');
alert(total_product);
}
});
但是它包含旧值,因为当我点击添加到购物车时,模态没有被打开所以它被设置为显示无。
哪个事件可以更好地检查模态是否真的打开,因为它在打开之前需要几秒或几毫秒,因为有一个ajax请求来检查服务器上的购物车。
因此,当打开模态时,我不知道甚至可以更好地执行操作。
实际上我试着在添加到购物车按钮上进行onckicl,但此时它没有打开,所以它包含旧值。
非常感谢Anykind的帮助
答案 0 :(得分:1)
首先,您需要显示layer_cart
,这样您才能检查display:block
css规则。
然后要更新total_product
值,您需要一个存储值的变量,然后只需将旧值和新值相加即可得到总值。
请查看以下示例:
var total_product = 0;
$('.ajax_add_to_cart_button').on("click", function()
{
$('#layer_cart').show();
if($('#layer_cart').css('display') == 'block')
{
total_product += parseInt($('.ajax_block_products_total').text().replace('€', '').replace(',', '.'));
}
alert(total_product);
});
#layer_cart
{
border: 1px solid red;
height: 200px;
width: 200px;
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="ajax_add_to_cart_button">Add to cart</div>
<ul id="layer_cart">
</ul>
<div class="ajax_block_products_total">€100</div>