jquery - 计算每个值的百分比

时间:2011-06-05 06:53:55

标签: jquery

我有一个功能需要从每个输入中总结,但同时每个输入必须显示百分比。我找到了总结价值的方法,但我有问题显示百分比。以下是HTML代码:

Price 1: <input type="text" name="price01" class="price" />
Percentage 1: <span class='p'></span>
<br/>
Price 2: <input type="text" name="price02" class="price" />
Percentage 2: <span class='p'></span>
<br/>
Price 3: <input type="text" name="price03" class="price" />
Percentage 3: <span class='p'></span>
<br/>
Price 4: <input type="text" name="price04" class="price" />
Percentage 4: <span class='p'></span>
<br/>
Total: <span class="total"></span>

我在互联网上找到的jquery代码:

$.fn.sumValues = function() {
    var sum = 0;
    this.each(function() {
        if ( $(this).is(':input') ) {
            var val = $(this).val();
        } else {
            var val = $(this).text();
        }
        sum += parseFloat( ('0' + val).replace(/[^0-9-\.]/g, ''), 10);
    });
    return sum;
};

$(document).ready(function() {
    $('input.price').bind('keyup', function() {
        $('span.total').html( $('input.price').sumValues() );
    });
});

希望有人可以提供帮助......谢谢。


谢谢你们,伙计们。我想我已经解决了这个问题。它可能不是最好的解决方案,但我明白了它的确有效。再次感谢你:)

解决方案代码:http://jsfiddle.net/amaleen123/6jnKf/2/

2 个答案:

答案 0 :(得分:0)

我不知道javascript的sytax,所以我的答案可能不太有用,但你需要做的就是在你计算总数/总和之后,将每个值除以总数给你百分比和将该值放在适当的范围内。

希望即使没有任何实际代码也能提供帮助。

答案 1 :(得分:0)

这有效

$(document).ready(function() {

    var $prices = $('input.price');

    $prices.bind('keyup', function() {
        var sum = $prices.sumValues();
        $('span.total').html( sum );

        $('.p').each(function(i,e){
           $(e).text( $prices.eq(i).val() / sum );
        });
    });
});

基本上,每次触发keyup事件并且在调用sumValues之后,您需要再次迭代这些元素以计算相应的百分比。

这绝不是最有效的解决方案,但它会在您完善工作时完成工作。