2

肯定的なものと疑わしいものの 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 に答える