我正在创建一个表单,用于计算项目每行的总和。
我已经使用了一段javascript来单独计算每一行但是我想知道我是否可以使用.each()来计算具有相同类的每一行,而不是每行都有一个独特的脚本ID。
脚本应该是:( p元素中带有“price1”类的价格)*(带有“qty1”类的输入元素中的值)。结果需要使用类“total1”
进入input元素我的页面是http://www.catering-equipment.co.uk/portal1/ 我在这里创建了一个JSFiddle - > https://jsfiddle.net/1y7kudtv/4/
$(".qty1").on('keyup', function () {
// alert('pressed')
var total = $(".price1").html() * $(this).val()
$(".total1").val(total);
})
您可以看到我对javascript代码的尝试,但只有在我使用唯一ID而不是类时才能使用它。
提前谢谢。
答案 0 :(得分:1)
是的,你可以这样做。使用find仅查找当前选择器中的元素:
$('.itemrow').each(function() {
var price = $(this).find('.price1').html();
var quantity = $(this).find('.qty1').val();
var total = price * quantity;
$(this).find('.total1').val(total);
});
另请注意,您在这里处理浮动算术,因此最好将总数舍入,以避免显示类似10.99999999
的内容:
var total = (price * quantity).toFixed(2);
答案 1 :(得分:0)