簡體   English   中英

使用數組作為JavaScript中的名稱來計算輸入元素的值

[英]Counting values from an input element using array as a name in JavaScript

我想要的是存儲id為3的數據庫對象的總和。(參見下面的輸入標簽)我有許多不同的id具有不同的值。 我要存儲的示例中的值是2。

除此之外,我想使用帶有JavaScript的“+”和“ - ”按鈕來增加/減少sum [3]的值。 所以我創建了一個名為incr和decr的函數來做到這一點:

<script type="text/javascript">
function incr(what)
{
    alert(what);
    what.value ++;

    // rest of the function I left out, it works with a 'normal' name of the input tag
    //but I need to use the array
}    
</script>

how many?<input type="text" size="10" name="sum[3]" value="2" />
<input name="plus" type="button" value="+" onclick="incr(document.sum[3])" />
<input name="min" type="button" value="-" onclick="decr(document.sum[3])" />

我無法讓它工作,即使警報沒有返回值。 任何人?

這不是最優雅的方法,因為它使用了大量的內聯代碼,但它解決了您的問題。 您的方法出了什么問題,document.sum [3]不是正確的選擇器,名稱=“sum [3]”輸入

<script type="text/javascript">
function incr(what)
{

    what.value ++;
    alert(what.value);
    // rest of the function I left out, it works with a 'normal' name of the input tag
    //but I need to use the array
}    
</script>

how many?<input type="text" size="10" name="sum[3]" value="2" />
<input name="plus" type="button" value="+" onclick="incr(document.getElementsByName('sum[3]')[0])" />
<input name="min" type="button" value="-" onclick="decr(document.getElementsByName('sum[3]')[0])" />

您應該考慮使用jQuery並使用事件處理程序重構代碼,而不是使用內聯javascript。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM