2010-07-13 79 views
0

我是jQuery的新手,我想知道如何根據選擇列表中選擇的值完成簡單的計算。請參閱我放在ImageShack上的以下屏幕截圖供參考。jQuery計算

http://img707.imageshack.us/i/imagebg.png/ http://img707.imageshack.us/img707/5216/imagebg.png

我希望能夠顯示在右側的文本框中計算的結果,如果我在左側按Tab鍵則值的文本框中輸入數字2文本框將在右側更新。 如果我能夠知道那是如何工作的,那麼我可以從那裏拿走它。 非常感謝您提前。

+0

你應該提供實際的HTML,看到圖像並沒有太大的幫助 – mkoryak 2010-07-13 14:02:28

回答

1

從文本框(以下稱爲「數量」)中獲取轉換的數量和選擇列表(以下稱爲「縮放」)中的轉換因子,並將其解析爲浮點數,然後將兩者相乘並將其設置爲轉化價值(以下稱爲「轉化」)。

$('#amount').change(function() { 
    var amount = parseFloat($(this).val()); 
    var factor = parseFloat($('#scale').val()); 
    var converted = amount * factor; 
    $('#converted').val(converted); 
}); 

您需要爲選擇做類似的事情 - 前兩行改變,但其餘的可以共享。

+0

它很好用。非常感謝你。我現在可以從這裏拿走它。 – Antonio 2010-07-13 14:46:03

+0

您可以通過將'this'改爲'#amount'並在變化事件中添加','#scale''來保持DRY。 – 2010-07-13 14:58:27

+0

@Jason - 很好的觀察。它確實添加了DOM遍歷,但這可能不是什麼大不了的事情。 – tvanfosson 2010-07-13 15:00:22

0
$(textbox1).change(function(event) { 
    $(textbox2).val($(this).val()/2.54); 
}) 
+0

感謝您的意見。 – Antonio 2010-07-13 15:17:15

0

我應該是這樣的東西。您必須提供factors[]陣列。

$("#leftText").change(function() 
{ 
    $("#rightText").val($("#leftText").val() * factors[$("#centerDDL").val()]); 
}); 
+0

謝謝您的輸入James。我很感激。 – Antonio 2010-07-13 14:46:41

0

您將要綁定您的輸入領域的blur事件,並在你的選擇領域的change事件。這些事件應該觸發你的calculate函數,它會從每個字段讀取值,使用val(),並執行必要的計算:英寸到釐米,英寸到英尺等。

如果您發佈了一些HTML,我可以添加一個代碼示例。

+0

謝謝賈森,我感謝你的意見。 – Antonio 2010-07-13 14:47:27