2010-08-15 31 views
2

我在jquery中有一個名爲colWidth的變量,該變量對從使用jquery的輸入獲取的數字運行一些數學運算。如何將輸入字段的值設置爲#test的值到colWidth的值?在Jquery中設置變量的表單輸入值

$("input#width").keyup(function() { 
    var value = $(this).val(); 
    $("span#width-text").text(value); 
}).keyup(); 

$("input#columns").keyup(function() { 
    var value = $(this).val(); 
    $("span#columns-text").text(value); 
}).keyup(); 

$("input#gutter").keyup(function() { 
    var value = $(this).val(); 
    $("span#gutter-text").text(value); 
}).keyup(); 

$("input#gutter").keyup(function() { 
    var value = $(this).val(); 
    $("span#gutter-text").text(value); 
}).keyup(); 

$(function(){ 
    $('a#calc').click(function(){ 
     var width = $('input#width').val(); 
     var col = $('input#columns').val(); 
     var gutter = $('input#gutter').val(); 
     var newWidth = width/col; 
     var colSize = (gutter + gutter) * col; 
     var colWidth = newWidth - colSize; 
     $('input#test').val(colWidth); 
    }); 
}); 
+0

請接受答案。 – Topera 2010-08-15 02:52:33

+0

Louis - 您的問題是否已解決?您接受了與您問題中的代碼看起來相同的答案。 – user113716 2010-08-15 03:17:07

+0

那麼,我想他只是驗證了我需要做些什麼來將數據「推」到輸入字段#test。 但是,在輸入字段中,我收到了顯示的「NaN」。我認爲我沒有抓取數據,或者確實沒有數據被拉入,我認爲我正在用 「var width = $('input#width')。val();」和「 」var col = $('input#columns')。val();「並通過我的計算 「var newWidth = width/col;」.... – 2010-08-15 03:22:54

回答

1

路易斯,

,因爲你的計算是用戶之前運行你得到NaN有機會進入任何數字到<input>元素。

在您的問題中,您使用.click()處理程序來觸發計算,但在您的頁面上,您沒有。它只是在頁面加載時運行。

因此.parseInt()的結果是NaN,並且計算結果是相同的。

+0

哦。好。 (我很抱歉,我仍然試圖學習jQuery的輸入/輸出)。如果我可能會問,在你看來,我該如何糾正這個問題? – 2010-08-15 03:50:16

+0

@Louis - 您需要在*用戶向字段中輸入一些信息後觸發計算。在你的問題中,你在''元素上使用了'.click()'事件。這將工作得很好。只需在您的HTML中提供'calculate',並像上面那樣將您的計算放入處理程序中。 – user113716 2010-08-15 03:52:52

+0

dw,謝謝..它基本上是盯着我臉*手掌前額* – 2010-08-15 03:56:54

4

$("#test").val(colWidth)

+0

我在嘗試獲取數據時在上述代碼中做錯了什麼?我現在在#test輸入字段中接收NaN。 – 2010-08-15 03:08:21

+0

Topera - 這不會給出問題$(「input#test」)中代碼的任何不同結果。val(colWidth)' – user113716 2010-08-15 03:33:35

+0

@patrick - 當我回答問題時,問題沒有代碼。 :) – Topera 2010-08-15 11:57:04

相關問題