这是我的fiddle
我使用了item
和sum
来获取值
即,
所有item 1
的值都会添加到sum_1
,item 2
到sum_2
,并且会一直显示。
但我希望将item 1
和multiply 1
相乘并在sum_1
中显示,反之亦然。
我该怎么做
var totalElement = $('.total');
$('.item').each(function () {
var itemNumber = $(this).attr('class').split(" ");
itemNumber.splice(itemNumber.indexOf("item"), 1);
var sumElement = $(".sum_" + itemNumber);
var sum = (sumElement.val() == "") ? 0 : parseInt(sumElement.val());
sum += parseInt($(this).val());
sumElement.val(sum);
calculateTotal();
});
$(document).on("change", ".item", function () {
var sum = 0;
var itemNumber = $(this).attr('class').split(" ");
itemNumber.splice(itemNumber.indexOf("item"), 1);
$('.' + itemNumber).each(function () {
sum += parseInt($(this).val());
});
$(".sum_" + itemNumber).val(sum);
calculateTotal();
});
function calculateTotal() {
var total = 0;
$('[class^=sum_]').each(function () {
total += parseInt($(this).val());
});
totalElement.val(total);
}
答案 0 :(得分:0)
试试这个......
<script src="//code.jquery.com/jquery-1.11.2.min.js"></script>
Values :
<input type="text" class="item 1" value="1" />
<input type="text" class="item 2" value="2" />
<input type="text" class="item 2" value="3" />
<input type="text" class="item 2" value="4" />
<input type="text" class="item 3" value="5" />
<input type="text" class="item 3" value="6" />
<input type="text" class="item 3" value="7" />
<Hr>
<br>
Multiplier :
<input type="text" class="multiply_1" value="5" />
<input type="text" class="multiply_2" value="6" />
<input type="text" class="multiply_3" value="7" />
<Hr>
<br>
Result :
<input type="text" class="sum_1" value="" />
<input type="text" class="sum_2" value="" />
<input type="text" class="sum_3" value="" />
<br>
<br>
<input type="text" class="total" value="" />
<script>
var totalElement = $('.total');
$('.item').each(function () {
var itemNumber = $(this).attr('class').split(" ");
itemNumber.splice(itemNumber.indexOf("item"), 1);
var sumElement = $(".sum_" + itemNumber);
var sum = (sumElement.val() == "") ? 0 : parseInt(sumElement.val());
sum += parseInt($(this).val());
sumElement.val(sum);
calculateTotal();
});
$(document).on("change", ".item", function () {
var sum = 0;
var itemNumber = $(this).attr('class').split(" ");
itemNumber.splice(itemNumber.indexOf("item"), 1);
$('.' + itemNumber).each(function () {
sum += parseInt($(this).val());
});
var multiple=$(".multiply_"+ itemNumber).val();
var funalsum=parseInt(multiple)*parseInt(sum);
$(".sum_" + itemNumber).val(funalsum);
calculateTotal();
});
function calculateTotal() {
var total = 0;
$('[class^=sum_]').each(function () {
total += parseInt($(this).val());
});
totalElement.val(total);
}
</script>
答案 1 :(得分:0)
fiddle url: http://jsfiddle.net/wz16yq2v/2/
正如你所说的那样,想要增加&#34;项目1&#34;和&#34;乘以1&#34;意味着条件将是这样的。 sum = item 1 *乘1 *乘1 .....(如果存在乘法1)