2014-02-08 83 views
0

這裏是我的文本字段jQuery的乘法和除法同時

 <tr> 
      <td>Price:</td> 
      <td><input type="text" name="price" id="form_textfield" class="price" autocomplete="off" /></td> 
     </tr> 
     <tr> 
      <td>Liters:</td> 
      <td><input type="text" name="liters" id="form_textfield" class="liters" autocomplete="off" /></td> 
     </tr> 
     <tr> 
      <td>Amount:</td> 
      <td><input type="text" name="jqueryamount" id="form_textfield" class="jqueryamount" autocomplete="off" /></td> 
     </tr> 

目前,當你輸入價格升,但它們相乘並輸出答案jqueryamount文本框它工作得很好。我想要做的是當我輸入金額和價格時,它會將jqueryamount字段與價格字段分開並輸出到lite字段。

更新修復

// JavaScript Document 
$(document).ready(function(){ 
$('.price').keyup(calculate); 
$('.liters').keyup(calculate); 
}); 
function calculate(e) 
{ 
    $('.jqueryamount').val($('.price').val() * $('.liters').val()); 
} 

// JavaScript Document 
$(document).ready(function(){ 
$('.jqueryamount').keyup(calculate1); 
$('.price').keyup(calculate1); 
}); 
function calculate1(e) 
{ 
    $('.liters').val($('.jqueryamount').val()/$('.price').val()); 
} 

只是增加了一個新的名字爲分頻功能...愚蠢的我感謝幫助傢伙

這裏是我的javascript

// JavaScript Document 
$(document).ready(function(){ 
$('.price').keyup(calculate); 
$('.liters').keyup(calculate); 
}); 
function calculate(e) 
{ 
    $('.jqueryamount').val($('.price').val() * $('.liters').val()); 
} 

// JavaScript Document 
$(document).ready(function(){ 
$('.jqueryamount').keyup(calculate); 
$('.price').keyup(calculate); 
}); 
function calculate(e) 
{ 
    $('.liters').val($('.jqueryamount').val()/$('.price').val()); 
} 

我的問題是添加除法功能時,乘法部分不會出現nger的工作,我不能再輸入裏面的文本textfield它給我NaN錯誤。

+0

保留函數名稱不同的計算和calculate1,也是當從字段使用parseFloat像這樣parseFloat($('。jqueryamount').val()) – Lab

+0

@Neo我得到NaN錯誤之一的文本域,但乘法似乎很好,就像我們遇到麻煩一樣。即使parseFloat – user3282248

+0

這是因爲你正在調用$('。price')。keyup(calculate);在這個特定的時間可能有或沒有金額領域的價值......因此,沒有被「空白」分給NaN ......我希望得到它。 – Lab

回答

0

使用parseFloat()函數獲取輸入值後,將字符串轉換爲數字。

當你把價值的價格和金額的公升會顯示像這樣。

$('.price').keyup(calculateLiters, calculateAmount); 
$('.jqueryamount').keyup(calculateLiters); 
$('.liters').keyup(calculateAmount); 


function calculateLiters(e) { 
    price = parseFloat($('.price').val()); 
    amount = parseFloat($('.jqueryamount').val()); 
    if(!isNaN(price) && !isNaN(amount)){ 
     $('.liters').val(amount/price); 
    } 
} 

function calculateAmount(e) { 
    price = parseFloat($('.price').val()); 
    liters = parseFloat($('.liters').val()); 

    if(!isNaN(price) && !isNaN(liters)){ 
     $('.jqueryamount').val(price * liters); 
    } 
} 

Demo

+0

我認爲parseFloat會是一個更好的選擇。 – Lab

+0

仍然是相同的,NaN錯誤 – user3282248

+0

我不能鍵入到我想要一個部門的領域 – user3282248

-1

我換一些類名和ID的使代碼更高效。

HTML

<tr> 
    <td>Price:</td> 
    <td><input type="text" name="price" id="price" class="form_textfield" autocomplete="off" /></td> 
</tr> 
<tr> 
    <td>Liters:</td> 
    <td><input type="text" name="liters" id="liters" class="form_textfield" autocomplete="off" /></td> 
</tr> 
<tr> 
    <td>Amount:</td> 
    <td><input type="text" name="jqueryamount" id="jqueryamount" class="form_textfield" autocomplete="off" /></td> 
</tr> 

的Javascript

// JavaScript Document 
$(document).ready(function(){ 
    $('.form_textfield').keyup(calculate); 
}); 

function calculate() 
{ 
    $('#jqueryamount').val($('#price').val() * $('#liters').val()); 
    $('#liters').val($('#jqueryamount').val()/$('#price').val()); 
} 

這裏是一個工作演示。 http://jsfiddle.net/vnaDK/

+0

用戶更改升數時,您沒有考慮金額。 –