【发布时间】:2015-07-15 01:04:34
【问题描述】:
我有一个在服务器端创建的 div 列表,每个都有价格、数量(由用户输入)和名称。我已经设法使用 jQuery 来计算每个的总数并将它们相加。
我现在想做的是逐行列出我的 textarea 中具有值的每个项目的名称、数量和总数。
到目前为止,我得到了以下内容(其中的附加部分目前不起作用):
$(document).ready(function () {
$(".product-row input").change(multInputs);
function multInputs() {
var mult = 0;
// for each row:
$("div.product-row").each(function () {
// get the values from this row:
var $price = $('.price', this).html();
var $quantity = $('.quantity', this).val();
var $total = ($price * 1) * ($quantity * 1);
// set total for the row
$('.multTotal',this).text($total);
mult += $total;
$('#textarea',this).append($name).append($total);
});
$("#total").html(mult);
}
});
如果我能解决这个问题,我很确定我可以解决每次更改时如何添加总计并清除 textarea(我不是在找人来完成所有工作)。
非常感谢任何关于我的 textarea 没有填充的原因的反馈。
编辑:解决方案,下面的 braks 很好地解释了导致以下(工作!)代码:
$(document).ready(function () {
$(".product-row input").change(multInputs);
function multInputs() {
var mult = 0;
// for each row:
$("div.product-row").each(function () {
// get the values from this row:
var price = $('.price', this).html();
var quantity = $('.quantity', this).val();
var name = $('.name', this).html();
var total = (price * 1) * (quantity * 1);
// set total for the row
$('.multTotal',this).text(total);
mult += total;
$('#textarea').val($('#textarea').val() + ' ' + name + ' ' + total);
});
$("#total").html(mult);
}
});
【问题讨论】:
-
$('#textarea',this).val($name + $total);-$name定义在哪里 -
过去你
html code也 -
这里需要更多细节;为什么它不起作用?你期待什么输出?此外,查看您的 HTML 也会有很大帮助。
标签: javascript jquery html append