[英]Javascript personality quiz trouble using 'this' and data-* attributes
[英]Javascript data-* attributes calculator
问题是,元素sumiroval的选择彼此之间..在“数据价格”中指定的元素的值。 我的代码无效且处理不正确,因此希望在任何沮丧的情况下更改金额。 感谢您有条件的帮助
html
<input name="tarifs" id="tarifs2" type="radio" data-price="590" value="Abs">
<input name="tarifs" id="tarifs1" type="radio" data-price="540" value="Abs"><br/>
<input name="tv[]" id="tv3" type="checkbox" data-price="150" value="Abs">
<input name="tv[]" id="tv2" type="checkbox" data-price="100" value="Abs"><br/>
<input name="tv2[]" id="tv4" type="checkbox" data-price="250" value="Abs">
<input name="tv2[]" id="tv5" type="checkbox" data-price="350" value="Abs"><br/>
Sum: <span id="checkout-sum"></span></div>
JS
$("input[name=tarifs]").keyup(function() {
var sum1 = $("input[name=tarifs]").data("price");
var sum2 = $("input[name=tv[]]").data("price");
var sum3 = $("input[name=tv2[]]").data("price");
var total = sum1 + sum2 + sum3;
$("#checkout-sum").val(total);
});
将使用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);
})
试试这个:jQuery选择器中缺少的引号:$(“ input [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);
});
尝试使用此:
$("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);
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.