2

我有两种类型的文本输入,积极的和可疑的。在将输入到两种类型的输入中的所有数字相加后,我需要显示多组这些输入的总数。例如: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);
4

1 回答 1

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));
});
于 2013-01-25T22:38:24.517 回答