JavaScript计算<;中数字的百分比;输入>;领域

JavaScript计算<;中数字的百分比;输入>;领域,javascript,Javascript,我有两个输入字段: <input id="input1" etc /> <input id="answer" etc /> 我想做的是,当用户在“input1”中键入一个数值(并将其限制为数字、无字母或特殊字符),然后“answer”输入字段显示该数字的0.0015%(即用户在35000中键入,因此在answer字段中显示52.5,因为这是他们输入数字的0.0015%)。这是实时完成的,没有提交或计算按钮 如何执行此操作?您可以通过这种方式在第一个输入元素上添加ke

我有两个输入字段:

<input id="input1" etc />
<input id="answer" etc />

我想做的是,当用户在“input1”中键入一个数值(并将其限制为数字、无字母或特殊字符),然后“answer”输入字段显示该数字的0.0015%(即用户在35000中键入,因此在answer字段中显示52.5,因为这是他们输入数字的0.0015%)。这是实时完成的,没有提交或计算按钮


如何执行此操作?

您可以通过这种方式在第一个输入元素上添加keyup事件。我使用了vanilla JS,尽管您在小提琴上使用了jquery。我的

函数myFunction(){
var inputVal=document.getElementById(“输入”).value;
var answerVal=document.getElementById(“应答”);
var百分比=(0.0015/100)*parseInt(inputVal,10)*100;
如果(输入值!=''){
answerVal.value=(数学四舍五入(百分比*100)/100).toFixed(1)
}否则{
answerVal.value='';
}
}
输入:

回答:
您的代码几乎工作得很好,但您在给定的示例中没有工作,原因是您使用了javascript的parseint函数,该函数不允许十进制值,为了限制数字,您可以使用输入类型number

$(函数(){
$('#pointspossible')。在('input',function()上{
计算();
});
$('#pointsgiven')。在('input',function()上{
计算();
});
函数计算(){
var pPos=$('#pointspobable').val();
var pEarned=$('#pointsgiven').val();
var perc=“”;
如果(伊斯南(pPos)|伊斯南(皮尔内德)){
perc=“”;
}否则{
perc=((皮尔内德*pPos)/100);
}
$('pointsperc').val(perc);
}
});


你有试着去完成吗?这感觉就像是一个“为我做家庭作业”的问题。我们需要更多的细节。你是如何做到这一点的?你在使用framworks吗,或者你需要用vanilla javascript来实现这一点吗?我一直在尝试修改它,但没有成功,这是我在另一篇文章中找到的一个,但没有完成我需要它做的事情,JS不是我的事@gdjc如果您需要2个输入,那么您可以轻松地编辑我的代码并相应地完成您的工作。太棒了,谢谢。在JSFIDLE中尝试过,效果很好。@gdjc很高兴它能帮助您,如果您需要2个输入,那么您可以轻松地编辑我的代码并相应地完成工作。快乐编码!再次感谢luckThanks,只有一件事,我可能很痛苦-但我如何将输出限制为一个小数点,即用户输入“27999”并返回为“41.9985”-理想情况下,我只希望它看起来像“41.9”。对不起,我是UXD而不是编码员:)没问题,你可以使用toFixed(1);请参阅更多信息,此信息也可作为参考