我有两种类型的文本输入,正面和可疑。在添加输入到两种输入类型中的所有数字之后,我需要显示多组这些输入。例如: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);
答案 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));
});