2017-04-06 26 views
0

コードを改善しているのは2日間です。このコードはまだうまくいっていますが、今回は3番目のフィールドまたは最後の残りのフィールドに残りのポイントを自動的に入力します。私は操作しようとしていますが、それは否定的な結果に終わります。値を何度も変更すると、正確な値を計算する機能がありません。どんな助けでも大歓迎です。事前に感謝します。JavaScriptで計算された値を自動入力する

<div class="col-lg-12"> 
    <div class="panel panel-default"> 
     <div class="panel-heading"> Please enter the weighted measurements for the criteria in selecting the scholars :</div> 
     <div class="panel-body"> 
     <div class="col-lg-4 form-group"> 
      <label class="control-label"> 
      Total criteria : 
      </label> 
      {!! Form::text('point','100',['class'=>'form-control', 'id'=>'remaining','disabled']) !!} 
     </div> 
     <div> 
      <div class="col-lg-12"> 

      <div class="col-lg-4 form-group"> 
       <label class="control-label"> 
       Percent for age: 
       </label> 
       {!! Form::text('scholarship_points_one',null,['class'=>'form-control point','id'=>'f1','maxlength' => '3', 'min'=>'4', 'max'=>'100','placeholder'=>'Enter Your Rate 1 - 100']) !!} 
      </div> 

      <div class="col-lg-4 form-group"> 
       <label class="control-label"> 
       Percent for GPA: 
      </label> 
      {!! Form::text('scholarship_points_two',null,['class'=>'form-control point','id'=>'f2','maxlength' => '3', 'min'=>'4', 'max'=>'100','placeholder'=>'Enter Your Rate 1 - 100']) !!} 
      </div> 

      <div class="col-lg-4 form-group"> 
      <label class="control-label"> 
      Percent for location: 
      </label> 
      {!! Form::text('scholarship_points_three',null,['class'=>'form-control point','id'=>'f3','maxlength' => '3', 'min'=>'4', 'max'=>'100','placeholder'=>'Enter Your Rate 1 - 100']) !!} 
     </div> 
     </div> 
    </div> 
    </div> 
</div> 
</div> 

<script type="text/javascript"> 
    var points = document.getElementsByClassName('point'); 
    var remaining = document.getElementById('remaining'); 
    for(var i = 0; i < points.length; i++) { 
    points[i].addEventListener('change', function() { 
     var inputPoints = getInputPoints(); 
     remaining.value = 100 - inputPoints; 
    }); 
    } 
    function getInputPoints() { 
    var inputPoints = 0; 
    for(var j = 0; j < points.length; j++) { 
     if (!isNaN(points[j].value) && points[j].value != "") { inputPoints += parseInt(points[j].value);} 
    } 
    return inputPoints; 
    } 
</script> 

答えて

0

が、その後

<script> 
$(document).ready(function() { 
    calculateTotals(); 

    $(".input-fields-to-sum").on('input', function() { 
     calculateTotals(); 
    }); 
}); 

function calculateTotals() { 
    // walk on input fields with class, calculate sum and put it in total field 
    // input can contain invalid numbers, handle errors when parsing 
} 

function parseNumber(str, defaultValue) { 
    if (str !== undefined && str.length) { 
     var parsed = parseFloat(str.replace(',','.').replace(/\s/g,'').replace(/\&nbsp\;/g,'')); 
     if (isNaN(parsed)) return defaultValue; 
     return parsed; 
    } 
    return defaultValue; 
} 
</script> 
+0

卿、あなたのソースの入力フィールドにクラスinput-fields-to-sumを追加し、私はこのロジックを適用しようとすると、私はさらに質問を持っているかどうかを確認します。 – Chee

+0

先生、ここで問題となるのは、ユーザーが最初に入力する可能性のフィールドです。私は固定された合計フィールドを入れることはできません。 – Chee

関連する問題