Javascript数据-*属性计算器

Javascript数据-*属性计算器,javascript,jquery,html,checkbox,Javascript,Jquery,Html,Checkbox,问题是元素的选择是相互矛盾的。。“数据价格”中指定的元素值。我的代码无效,处理不当,希望在任何时候更改金额。 谢谢你有条件的帮助 html 试试这个: jQuery选择器中缺少的引号:$(“输入[name='tv[]”] $("input[name=tarifs],[name='tv[]'],[name='tv2[]']").change(function() { var sum1 = $("input[name=tarifs]:checked").data("price");

问题是元素的选择是相互矛盾的。。“数据价格”中指定的元素值。我的代码无效,处理不当,希望在任何时候更改金额。 谢谢你有条件的帮助

html

试试这个: jQuery选择器中缺少的引号:$(“输入[name='tv[]”]

$("input[name=tarifs],[name='tv[]'],[name='tv2[]']").change(function() {
    var sum1 = $("input[name=tarifs]:checked").data("price"); 
    var sum2 = $("input[name='tv[]']:checked").data("price");    
    var sum3 = $("input[name='tv2[]']:checked").data("price");  
    var total = sum1 + sum2 + sum3;
  $("#checkout-sum").html(total);
});

另一种方式:

$input = $("input[name=tarifs],[name='tv[]'],[name='tv2[]']");

$input.change(function() {
    var sum = 0;
    $input.filter(':checked').each(function(){
       sum = sum + $(this).data("price");
    });
  $("#checkout-sum").html(sum);
});

将使用
change
事件,并仅查找选中的输入。当显示的任何收音机或复选框发生更改时,这将起作用

$inputs=$('#tarifs1,#tarifs2,#tv2,,#tv3,#tv4,#tv5').change(function(){
    var total=0;
    $inputs.filter(':checked').each(function(){
        total+= $(this).data('price');
     });
    $("#checkout-sum").text(total);
})

尝试使用以下方法:-

$("input").change(function() {

    var sum1 = $("input[name='tarifs']:checked").data("price"),
    sum2 = 0,
    sum3= 0;

    $.each($("input[name='tv[]']:checked"), function(index,item) {
      sum2 += $(item).data('price');
   });

      $.each($("input[name='tv2[]']:checked"), function(index,item) {
       sum3 += $(item).data('price');
    });

    var total = +sum1 + sum2 + sum3;

    $("#checkout-sum").html(total);
});

.keyup(
更改为
).Change(
并查看控制台。之后,查看您希望输出/结果是什么?所有选中值的总和?还是所有复选框的总和?所有选中值的总和工作不正常=(。如果选择$tarifs1,则显示590。当数据价格=“540“+”您可以这样做,但会随选择而改变,所有数据都已重新计算?选项2完全适合。非常感谢=)上一个版本假定没有其他
输入
,可能会在页面中的任何其他位置进行检查..危险谢谢,您的版本有效=)。只需一个问题,您可以将该位置设置为作业id(#tarifs1)、作业名称(名称=“tarifs”)?因为可能会有很多id。对所有要包含的id使用单个类。然后只需将该类用于选择器或更简单的
$(“.parentWrpper:input”)
$inputs=$('#tarifs1,#tarifs2,#tv2,,#tv3,#tv4,#tv5').change(function(){
    var total=0;
    $inputs.filter(':checked').each(function(){
        total+= $(this).data('price');
     });
    $("#checkout-sum").text(total);
})
$("input").change(function() {

    var sum1 = $("input[name='tarifs']:checked").data("price"),
    sum2 = 0,
    sum3= 0;

    $.each($("input[name='tv[]']:checked"), function(index,item) {
      sum2 += $(item).data('price');
   });

      $.each($("input[name='tv2[]']:checked"), function(index,item) {
       sum3 += $(item).data('price');
    });

    var total = +sum1 + sum2 + sum3;

    $("#checkout-sum").html(total);
});