Javascript 输入两个百分比给我第三个
我有3个输入文件 我想输入两个输入,第三个拉将自动推杆Javascript 输入两个百分比给我第三个,javascript,Javascript,我有3个输入文件 我想输入两个输入,第三个拉将自动推杆 <input id='cpercentage' name='first'> <input id='epercentage' name='second'> <input id='mpercentage' name='third'> })) 两点意见: 您没有使用正确的事件。突出显示文本时,将触发select事件 perc=(100-(pEarned+pPos)).toFixed(3) 我会将事件设置为c
<input id='cpercentage' name='first'>
<input id='epercentage' name='second'>
<input id='mpercentage' name='third'>
})) 两点意见:
- 您没有使用正确的事件。突出显示文本时,将触发
事件select
perc=(100-(pEarned+pPos)).toFixed(3)代码>
change
$('#cpercentage').on('change', function() {
你的计算也有一点是错误的
perc = (100- (pEarned+pPos)).toFixed(3);
要将%添加到计算结果中,只需执行以下操作:
$('#mpercentage').val(perc+"%");
结合起来就是这样的:
$('cpercentage')。在('change',function()上{
计算();
});
$('#epercentage')。on('change',function(){
计算();
});
函数计算(){
var-pPos=parseInt($('cpercentage').val();
var pEarned=parseInt($('#epercentage').val();
var perc=“”;
如果(伊斯南(pPos)|伊斯南(皮尔内德)){
perc=“”;
}否则{
perc=(100-(皮尔内+pPos)).toFixed(3);
}
$('mpercentage').val(perc+“%”);
}
keyup
,change
toselect
Math.abs()
到toFixed()
$(function() {
$('#cpercentage').on('keyup', function() {
calculate();
});
$('#epercentage').on('change', function() {
calculate();
});
function calculate() {
var pPos = parseInt($('#cpercentage').val());
var pEarned = parseInt($('#epercentage').val());
var perc = "";
if (isNaN(pPos) || isNaN(pEarned)) {
perc = " ";
} else {
perc = Math.abs((pEarned + pPos) - 100);
}
$('#mpercentage').val(perc + '%');
}
});
change
和keyup
之间有一点不同,您可以选择您想要的任何内容。尝试使用正确的事件。你可以在改变时做,在专注时做。。。我更喜欢改变,因为你会在你想要的东西中看到实时示例plz的价值mean@mohamadmohamad在html中,在输入框DONE的标记中添加“onChange=”call_to_function“”字段,然后检查数学;)@mohamadmohamad类似于
谢谢,这是工作,但如果我将html中的输入字段更改为选择字段,它将停止工作,如何解决此问题?如果我理解正确,您会问如何进行计算,如果前两个字段是正确的。您只需更改标记并添加选项:`10%15%`您可以将结果字段保留为。如果你现在选择某些值,它仍然会计算。是的,我不小心回答得太早了。检查上面的编辑。检查编辑。也许您的代码中有错误。我们是否不能在html中将第三个设置为select?
$(function() {
$('#cpercentage').on('keyup', function() {
calculate();
});
$('#epercentage').on('change', function() {
calculate();
});
function calculate() {
var pPos = parseInt($('#cpercentage').val());
var pEarned = parseInt($('#epercentage').val());
var perc = "";
if (isNaN(pPos) || isNaN(pEarned)) {
perc = " ";
} else {
perc = Math.abs((pEarned + pPos) - 100);
}
$('#mpercentage').val(perc + '%');
}
});