如何在jquery中乘以两个值的值

时间:2015-03-16 06:45:20

标签: javascript php jquery html

这是我的fiddle

我使用了itemsum来获取值

即,

所有item 1的值都会添加到sum_1item 2sum_2,并且会一直显示。

但我希望将item 1multiply 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);
}

2 个答案:

答案 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)