我遇到了一個問題,我需要在同一頁面上的多個項目(具有唯一標識)的數量微調控制器。JavaScript錯誤:「輸入微調器無法讀取屬性'值爲空'多輸入
實施例:
這是我使用的JavaScript,它完美地工作時,只有一個具有指定ID(product_quantity)輸入。但後來當我有多個項目,他們每個人都有唯一的ID的(當然),所以它不能
function updateSpinner(obj)
{
var contentObj = document.getElementById("product_quantity");
var value = parseInt(contentObj.value);
if(obj.id == "down") {
value--;
} else {
value++;
}
contentObj.value = value >= 1 ? value : 1;
}
(例如在此琴發現:http://jsfiddle.net/AmanVirdi/hbP3y/)
HTML的單個元素我有這個工作:
<div class="quantity-controls">
<a class="button" id="down" onclick="updateSpinner(this);">...</a>
<input type="text" name="quantity" id="product_quantity" value="1">
<a class="button" id="up" onclick="updateSpinner(this);">...</a>
</div>
的HTML輸出2個動態輸入字段(各自具有與上述相同的周圍的HTML):
<input type="text" class="qty-val" name="quantity[01]" id="product_quantity_01" value='1'>
<input type="text" class="qty-val" name="quantity[02]" id="product_quantity_02" value='1'>
我該如何修改javascript來處理類似這樣的事情?或者我應該採取不同的方法?
我也嘗試修改這個(但當時它只是沒有在所有的工作):
function updateSpinner(obj)
{
var contentObj = document.getElementsByClassName("qty-val");
var value = parseInt(contentObj.value);
if(obj.id == "down") {
value--;
} else {
value++;
}
contentObj.value = value >= 1 ? value : 1;
}
如何'updateSpinner'應該知道,應該選擇哪一個元素?可能會傳遞正確的元素作爲參數? –
對不起,我不太瞭解JavaScript,但是這是問題,「product_quantity」不是每個有效的ID ...我怎麼能通過正確的元素作爲參數? – ByteMyPixel
這取決於如何調用'updateSpinner'我猜。 –