2015-12-09 45 views
0

添加兩個輸入字段我有這三個輸入字段我的形式由JavaScript或jQuery的

<div class="col-md-6"> 
    <div class="form-group">    
     <label for="ot" class="col-sm-4 control-label">OT Duration:</label> 
     <div class="col-sm-8"> 
      <input class="form-control" name="ot" type="text" id="ot"> 
     </div> 
    </div> 
    <div class="form-group">    
     <label for="ot_rate" class="col-sm-4 control-label">OT Rate/Hour:</label> 
     <div class="col-sm-8"> 
      <input class="form-control" name="ot_rate" type="text" id="ot_rate"> 
     </div> 
    </div> 
    <div class="form-group"> 
     <label for="ot_bill" class="col-sm-4 control-label">OT Amount:</label> 
     <div class="col-sm-8"> 
      <input class="form-control" name="ot_bill" type="text" id="ot_bill"> 
     </div> 
    </div> 
</div> 

我想要的otot_rate值添加到ot_billotot_rateonblurotot_rate值大於零。

+2

正是你嘗試過什麼?分享你的JS代碼。 –

+0

「onblure」是什麼意思? – AGE

+0

@StefanBaiu我還沒有嘗試過任何東西。 – smartrahat

回答

0

如果我理解正確你的問題的解決方案可能是:

$(function() { 
 
    $('#ot, #ot_rate').blur(function() { 
 
    var ot = (isNaN($('#ot').val()) == true || $('#ot').val().trim().length == 0) ? -1 : parseInt($('#ot').val()); 
 
    var otrate = (isNaN($('#ot_rate').val()) == true || $('#ot_rate').val().trim().length == 0) ? -1 : parseInt($('#ot_rate').val()); 
 
    if (ot > 0 && otrate > 0) 
 
     $('#ot_bill').val(ot + otrate); 
 
    }); 
 
});
<script src="//code.jquery.com/jquery-1.11.3.js"></script> 
 
<div class="col-md-6"> 
 
    <div class="form-group"> 
 
     <label for="ot" class="col-sm-4 control-label">OT Duration:</label> 
 
     <div class="col-sm-8"> 
 
      <input class="form-control" name="ot" type="text" id="ot"> 
 
     </div> 
 
    </div> 
 
    <div class="form-group"> 
 
     <label for="ot_rate" class="col-sm-4 control-label">OT Rate/Hour:</label> 
 
     <div class="col-sm-8"> 
 
      <input class="form-control" name="ot_rate" type="text" id="ot_rate"> 
 
     </div> 
 
    </div> 
 
    <div class="form-group"> 
 
     <label for="ot_bill" class="col-sm-4 control-label">OT Amount:</label> 
 
     <div class="col-sm-8"> 
 
      <input class="form-control" name="ot_bill" type="text" id="ot_bill"> 
 
     </div> 
 
    </div> 
 
</div>

+0

我相信type =「text」只會返回一個字符串。這應該是使用parseInt。 – AtheistP3ace

+0

@ AtheistP3ace fixed – gaetanoM

+0

結果即將到來'2 + 2 = 22'我認爲'+ +是'concatenate'工作的 – smartrahat

0

請嘗試以下代碼:

<input class="form-control" name="ot" type="text" id="ot" onblur="updateValue()"> 
<input class="form-control" name="ot_rate" type="text" id="ot_rate" onblur="updateValue()"> 
<input class="form-control" name="ot_bill" type="text" id="ot_bill"> 
<script> 
function updateValue(){ 
    var ot = parseInt($("ot").val()); 
    var ot_rate = parseInt($("ot_rate").val()); 

    if(ot > 0 && ot_rate > 0){ 
     var total = parseInt(ot) + parseInt(ot_rate); 
     $("#ot_bill").val(total); 
    } 
} 
</script> 
+0

'ot_bill'沒有什麼顯示 – smartrahat