Javascript 输入两个百分比给我第三个

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

我有3个输入文件

我想输入两个输入,第三个拉将自动推杆

<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
    to
    select
  • 然后,也许您想要获得绝对值,可以使用
    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 + '%');
        }
    
    });