我有一个关于javascript逻辑的问题,该如何使用我的文本字段获取两个输入的百分比。这是我的代码:

    var pPos = $('#pointspossible').val();
    var pEarned = $('#pointsgiven').val();

    var perc = ((pEarned/pPos) * 100).toFixed(3);
    $('#pointsperc').val(perc);

由于某些原因,如果我的输入是600和200,我的结果应该是33.333,但是我得到的是3.333。如果我硬编码我的值(value)观,这很好。如果有人可以提供帮助,我表示感谢。提前致谢。

最佳答案

似乎有效:

HTML:

 <input type='text' id="pointspossible"/>
<input type='text' id="pointsgiven" />
<input type='text' id="pointsperc" disabled/>

JavaScript:
    $(function(){

    $('#pointspossible').on('input', function() {
      calculate();
    });
    $('#pointsgiven').on('input', function() {
     calculate();
    });
    function calculate(){
        var pPos = parseInt($('#pointspossible').val());
        var pEarned = parseInt($('#pointsgiven').val());
        var perc="";
        if(isNaN(pPos) || isNaN(pEarned)){
            perc=" ";
           }else{
           perc = ((pEarned/pPos) * 100).toFixed(3);
           }

        $('#pointsperc').val(perc);
    }

});

演示:http://jsfiddle.net/vikashvverma/1khs8sj7/1/

10-07 21:32