2012-06-12 64 views
0

我有以下HTML形式訪問使用JavaScript

<form action="#" method="post"> 

<table> 
<tr> 
    <td><label>Product:<label> <input type="text" /></td> 
    <td><label>Price:<label> <input type="text" /></td> 
    <td><label>Quantity:<label> <input type="text"/></td> 
    <td><label>Amount:<label> <input type="text" name="amount[]"/></td> 
</tr> 

<tr> 
<td><label>Product:<label> <input type="text" /></td> 
<td><label>Price:<label> <input type="text" /></td> 
<td><label>Quantity:<label> <input type="text"/></td> 
<td><label>Amount:<label> <input type="text" name="amount[]"/></td> 
</tr> 

<!---only two rows have been created by the user --> 


<input type="button" value="Add product" onClick="addProductRow()"/> 
<input type="submit" value="Submit"/> 
</table> 
</form> 

由用戶動態創建字段中的輸入(有添加一行到頁面按鈕)的輸入名稱的數組。當用戶添加價格和數量時,金額(價格*數量)必須顯示在相關數量字段中。

我的問題是,我如何訪問每個數量字段插入總量使用JavaScript或jQuery。

預先感謝您。

+0

你嘗試過什麼? –

回答

0

我會在這種情況下使用parentNode,直到找到包含<tr>,然後使用該錶行節點來搜索輸入字段。

0

您還應該添加一個ID爲每個字段(如quantityfields[]pricefields[]數組名工作過),並使用標準的document.getElementById("quantityfields[0]")

我也看到document.getElementsByName(name)它會返回一個數組,你可以遍歷和做你自己的東西,你不必使用額外的ID,但我認爲getElementById更常見。

0

使用jQuery(如果你有沒有IDS,並且只有一個表在頁面上)

var total; 
$("table").find("tr").each(function(index, elem){ 
    total = total + parseInt($("td:eq(3) input", this).val()); 
});