2013-07-19 49 views
3

我正在嘗試做一些看起來很簡單的事情,但我無法使其工作。我仍然是Java的新手,但我更願意學習,而不是付錢給我做。所以任何幫助,指導,將不勝感激。將所有文本輸入值添加到一個總數量框中

我有一個形成了對產品

我有一個設置了量達選項。 (Small,Med,Large,XL)

我需要的只是底部的主量框根據用戶輸入的內容更新其值。

我試着寫基於其他後一個簡單的腳本我讀過

$("input.Qty").keyup(function(){ 
    sumValues(); 
}); 

function sumValues() { 
    var sum = 0; 

    $("input.Qty").each(function(){ 
     var $this = $(this); 
     var amount = parseInt($this.val(), 1); 
     sum += amount === "" || isNaN(amount)? 0 : amount; 
    }); 

    $("#qtybox").text(sum); 
} 

$(function() { 

    sumValues(); 

}); 

基於一切我讀過它的使用KEYUP方法最簡單的方法似乎。任何想法或想法?

+3

'parseInt函數($ this.val(),1);'看起來不正確。你的意思是'parseInt($ this.val(),10);'而不是? – techfoobar

+2

「新手在Java」>。 Amadan

+0

@techfoobar,是的10是我的代碼中的正確值。 – Josh

回答

3
parseInt($this.val(), 1); 
         ^---- You are using the wrong radix 

應該是

parseInt($this.val(), 10); 

另一個問題可能是你有約束力的DOM準備處理程序之外的事件。 因此,在事件綁定時,元素可能仍然不可用。嘗試移動到內DOM ready handler

Check Fiddle

$(function() { 
    $("input.Qty").keyup(function() { 
     sumValues(); 
    }).keyup(); 
}); 

function sumValues() { 
    var sum = 0; 

    $("input.Qty").each(function() { 
     var $this = $(this); 
     var amount = parseInt($this.val(), 10); 
     sum += amount === "" || isNaN(amount) ? 0 : amount; 
    }); 

    $("#qtybox").text(sum); 
} 
+0

好的,即使有變化,我也沒有得到更新。 由於每個選項都有一個特定的ID可能可能是一個原因? Josh

+0

'id'與它無關,因爲您正在使用類來選擇它們。 –

+0

看起來你的選擇器在第一個地方是錯誤的。你的輸入有一個名爲'qty'而不是'Qty'的類。選擇器區分大小寫。 '

0
function sumValues() { 
    var sum = 0; 

    $("input.Qty").each(function() { 
     sum += parseInt(this.value, 10); 
    }); 

    $("#qtybox").text(sum); 
} 

$(function() { 
    $("input.Qty").on('keyup', sumValues).trigger('keyup'); 
}); 
+0

謝謝。我沒有試過.trigger('keyup') – Josh

相關問題