数学:从文本输入中添加总数并查找百分比

时间:2013-01-25 22:11:15

标签: jquery math

我有两种类型的文本输入,正面和可疑。在添加输入到两种输入类型中的所有数字之后,我需要显示多组这些输入。例如:2正+ 2可疑=总计:4

然后,我需要从总数中找出积极与可疑的百分比。 例如:50%为正面,50%为可疑。

我想在用户输入时将这些总数和百分比实时添加​​。

到目前为止,我无处可去。有什么想法可以做到最好吗?我应该使用.blur还是.each?

jsfiddle:http://jsfiddle.net/infatti/UjU4a/

这是我到目前为止所做的,但它不起作用:

<label>How many positive?</label>
<input type="text" name="positive" class="observationPositive">
<br />

<label>How many questionable?</label>
<input type="text" name="questionable" class="observationQuestionable">
<br />

<hr />

<label>How many positive?</label>
<input type="text" name="positive" class="observationPositive">
<br />

<label>How many questionable?</label>
<input type="text" name="questionable" class="observationQuestionable">
<br />

<hr />

<h4><span  id="observationTotal"></span> Total</h4>
<h4><span  id="observationQuestionablePercentage"></span>% Questionable</h4>
<h4><span  id="observationPositivePercentage"></span>% Positive</h4>

$('.observationPositive').blur(function () {
    var sum = 0;
    $('.observationPositive').each(function() {
        sum += Number($(this).val());
    });
});​​​​​​​​​
$('#observationTotal').text(sum);

1 个答案:

答案 0 :(得分:0)

假设您的意思是“平均值”。但是,我可以更多地了解你想要达到的目标 - 你可能想要将每个积极的输入与可疑的输入配对......

$('.observationPositive, .observationQuestionable').on("change", function () {
    var sumP = 0,
        sumQ = 0,
        countP = 0,
        countQ = 0;
    $('.observationPositive').each(function(){
        countP++;
        sumP += Number($(this).val());
    });
    $('.observationQuestionable').each(function(){
        countQ++;
        sumQ += Number($(this).val());
    });

    var percentP = 100/(1 + (sumQ/sumP));
    var percentQ = 100 - percentP;

    $("#observationTotal").text(sumP + sumQ);
    $("#observationQuestionablePercentage").text(percentQ.toFixed(2));
    $("#observationPositivePercentage").text(percentP.toFixed(2));
});