Javascript 选中复选框“添加到购物车”
所以我的购物车有些问题。一些jQuery问题,我想知道是否有人能为我指出正确的方向 问题是,我正在尝试使购物车更具动态性,如果您选中一个复选框,则商品将添加到购物车中,并且该商品的总价格和折扣也将显示出来 只是复选框部分有问题Javascript 选中复选框“添加到购物车”,javascript,php,jquery,html,Javascript,Php,Jquery,Html,所以我的购物车有些问题。一些jQuery问题,我想知道是否有人能为我指出正确的方向 问题是,我正在尝试使购物车更具动态性,如果您选中一个复选框,则商品将添加到购物车中,并且该商品的总价格和折扣也将显示出来 只是复选框部分有问题 $(document).ready(function($){ $('#cart_listing .quantity').change(function (event) { $quan = $(this); console.log($
$(document).ready(function($){
$('#cart_listing .quantity').change(function (event) {
$quan = $(this);
console.log($quan.parent().next()[0]);
$quan.parent().next().find('.price').text(function () {
return $quan.val() * parseInt($(this).attr('data-val'), 10) + ' €';
});
var total = 0;
$('#cart_listing .price').each(function(k, v){
total += parseFloat($(v).text(), 10);
});
$('#cart_listing .faster').text(function () {
faster = parseInt($(this).attr('data-val'), 10);
return $(this).attr('data-val' + ' €');
});
var discount_pct = parseInt($("#cart_listing .discount").data("val"), 10);
var discount = -(total * discount_pct/100);
$('#cart_listing .discounted').text('-' + -discount + ' €');
$('#cart_listing #total').text(total + discount + faster + ' €')
});
});
jsiddle:我没有正确理解您的问题,但我认为您希望在使用jQuery选中复选框时为复选框添加值
$('input[type=checkbox]').click(function(){
if($(this).is(':checked')){ //use this to see if the checkbox is checked or not
//do something...
}
});
我不知道你是否想要这样的东西。如果没有,你能进一步澄清吗?谢谢
编辑:
所以,你基本上用的是同一个东西,也许像这样
if($(this).is(':checked')){
console.log($(this).parent('td').siblings('td').html()); // check this, you'll have the item name. (the first td)
console.log($(this).attr('data-val')); // this will have the value on the "data-val" attribute on your checkbox
}
所以,现在您有了产品的名称(第一个日志)和价格(第二个日志)。
现在请记住,只有在格式保持一致的情况下,这才有效,而且您可能希望为所有产品复选框指定一个唯一的类,而不是执行一般的
输入[type=checkbox]
,这样就不会干扰您可能拥有的其他复选框。希望这有帮助。如果没有,我很乐意回答更多的问题。谢谢 你在说哪个复选框?你的JSIDLE有一大堆不同的复选框。大部分都是,但是1会让我更接近@hofan41I我是这样想的,假设你选中“1x基本待机覆盖:”旁边的复选框,然后项目被添加到右边的购物车(或JSIDDLE页面的顶部)复选框中的数据val与总价一起添加@sulavvr@PrinceSamuel你能检查一下答案的编辑部分吗?如果这对你有帮助,请告诉我。谢谢因此代码不起作用,我更新了JSFIDLE。我将复选框命名为“基本覆盖”=>class=“Basic\u standby”。你能私下里给出你的答案吗@sulavvr@PrinceSamuel代码不起作用,因为您必须绑定复选框上的单击事件<代码>$('input[type=checkbox]')。单击(function(){//您的代码…})您刚刚编写了if
语句。这是JSFIDLE。。希望对你有帮助。。谢谢@我想你只是需要有人给你指出正确的方向。将控制台。日志
替换为警报
,运行小提琴并单击复选框,查看项目是否被警报。之后,您必须使用这些值,并将其附加到购物车中。使用jquery的append
方法将商品名称附加到购物车中,对于总价,您有了值,只需将其添加到总价中即可。清楚吗?我不想做整个加法,你不会那样学的。如果你不明白,我很乐意进一步指导你。谢谢