我做了一個小表格來測試一些東西,但我遇到了一個小問題,我真的不知道該如何解決。使用javascript計算總價格
我提出輸入字段和改變價格當用戶輸入使用JavaScript不同的號碼,它看起來像這樣:
function changeTotalFromCount(input) {
var unitPrice = parseFloat(input.getAttribute("data-unitPrice"));
var count = input.value;
var price = unitPrice * count;
var formattedPrice = '\u20ac ' + price.toFixed(2);
var label = input.parentNode.nextElementSibling;
label.innerHTML = '';
if (count != ''){
label.appendChild(document.createTextNode(formattedPrice));
} else {
label.appendChild(document.createTextNode(''));
}
}
我有大約10種產品在我的形式,其我取下陣列的像這樣:
<?php foreach($productsData as $productData):?>
<tr>
<td><?php echo $productData['product']?></td>
<td>€ <?php echo $productData['price']?></td>
<td><input type="number" id="count<?php echo $productData['code']?>" class="formnumbers" name="<?php echo $productData['name']?>" onChange="validateForm(this);changeTotalFromCount(this);" min="1" max="99" data-unitprice="<?php echo $productData['price']?>"/></td>
<td><span id="total<?php echo $productData['code']?>"></span></td>
</tr>
<?php endforeach;?>
我的數組是這樣的:
<?php
$productsData = array(
array('product' => 'Pizza Margherita', 'code' => 'Margherita', 'name' => 'PizzaMargherita', 'price' => '7.00'),
array('product' => 'Pizza Fungi', 'code' => 'Fungi', 'name' => 'PizzaFungi', 'price' => '8.00'),
array('product' => 'Pizza Hawai', 'code' => 'Hawai', 'name' => 'PizzaHawai', 'price' => '9.00'),
array('product' => 'Pizza QuattroStagioni', 'code' => 'QuattroStagioni', 'name' => 'PizzaQuattroStagioni', 'price' => '11.00'),
array('product' => 'Pizza Calzone', 'code' => 'Calzone', 'name' => 'PizzaCalzone', 'price' => '13.00'),
array('product' => 'Broodje Shoarma', 'code' => 'BroodjeShoarma', 'name' => 'BroodjeShoarma', 'price' => '5.00'),
array('product' => 'Broodje Doner', 'code' => 'BroodjeDoner', 'name' => 'BroodjeDoner', 'price' => '5.50'),
array('product' => 'Durum Doner', 'code' => 'DurumDoner', 'name' => 'DurumDoner', 'price' => '6.00'),
array('product' => 'Knoflook Saus', 'code' => 'KnoflookSaus', 'name' => 'KnoflookSaus', 'price' => '0.50'),
array('product' => 'Whiskey Saus', 'code' => 'WhiskeySaus', 'name' => 'WhiskeySaus', 'price' => '0.50'),
array('product' => 'Sambal Saus', 'code' => 'SambalSaus', 'name' => 'SambalSaus', 'price' => '0.50')
);
?>
這をrks都很好,但是我需要一個總價格,它將顯示在底部,而當用戶說增加1件產品時,它的成本是7美元,它會說7美元,但是當用戶訂購2美元的產品時,它將變成10美元$ 27.00
我希望我明確提出了我的問題,如果不是,請告訴我!
一個小的jsfiddle讓您瞭解什麼happeneing:http://jsfiddle.net/ygHSC/
在這個例子中,我沒有拿出我所有的產品,我的數組,但我希望你明白我想要做的事。
你完全按照我想要的那樣擺弄作品,但是我無法在我自己的網站中找到它。我添加了getTotalprice();到changeTotalFromCount(輸入)並添加你所做的全部功能。我也在這裏添加了ID到總價中。奇怪... –
任何一種JS錯誤?任何機會,你可以發佈一個URL來看看它? –
正如你可以看到我的'ChangeTotalFromCount()'看起來不同,那麼也是在jsfiddle中使用的那個。 其他有用的提示是,我有5個輸入字段的形式,但這些不是產品,但爲名稱adres等 –