我做了一个小表格来测试一些东西,但我遇到了一个小问题,我真的不知道该如何解决。使用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等 –