使用HTML中数据字段提取的变量进行计算
Calculate with variables pulled by data fields from HTML
我不想根据所选数量和价格计算总价。因此,我使用由按钮提供的数据属性。问题是我不能用javascript计算总价,因为我总是得到NaN。我认为这是因为这些变量被解释为String,但parseFloat或parseInt也没有帮助。
这是我的HTML5:
<div class="checkout-meta">
<div class="checkout-info">
<strong>Total:</strong> 35,00€
</div>
<div class="checkout-cta">
<select class="quantity" name="quantity">
<option>
1
</option>
<option>
2
</option>
<option>
3
</option>
<option>
4
</option>
</select>
<a class="btn-1 ajax-popup" data-packageid="1"
data-price="35" data-region="EUW" href="checkout.php">
Purchase Now
</a>
</div>
</div>
JavaScript/jQuery:
$('.quantity').change(function(e){
var purchaseBtn = $(this).parent().find('.btn-1');
var price = parseFloat(purchaseBtn.data('price'));
var quantity = parseFloat(purchaseBtn.data('quantity'));
var total = price*quantity;
$(this).parent().parent().find('.checkout-info').html("<strong>Total:</strong> " + total + ",00€");
});
JSFiddle:http://jsfiddle.net/23owof84/
您正在从按钮中取出数量
var quantity = parseFloat(purchaseBtn.data('quantity'));
但你需要从选择的中提取
var quantity = parseFloat($(".quantity option:selected" ).text());
这是完整的片段。检查更改http://jsfiddle.net/23owof84/6/
$('.quantity').change(function(e){
var purchaseBtn = $(this).parent().find('.btn-1');
var price = parseFloat(purchaseBtn.data('price'));
var quantity = parseFloat($(this).find('option:selected').text());
var total = price*quantity;
$(this).parent().parent().find('.checkout-info').html("<strong>Total:</strong> " + total + ",00€");
});
相关文章:
- 如何计算每个元素's的高度,并将这些值用作函数中的变量
- 设置为负数的变量计算结果为true
- 对于使用传递的数据计算的局部范围变量,角度绑定在自定义指令中不起作用
- 如何在此脚本代码中正确设置此计算和变量
- Angularjs:访问范围变量数组并计算平均值
- 计算出具有多个变量的旅程成本的总价
- 如何在javascript中计算两个变量的百分比
- 如何在jQuery中单击时重新计算变量
- 计算三角形面积-作为变量工作,但不作为函数包装
- 如何降低炮弹速度变量的计算成本
- 使用HTML中数据字段提取的变量进行计算
- 变量计算不起作用(jquery/javascript)
- 将变量与 HTML 字符串一起使用,并计算
的数量 - Javascript形式,计算三个相关变量
- JavaScript 减去两个变量之间的计算
- 具有计算名称的引用变量
- 使用变量进行 Jquery 计算
- jQuery -滚动到一个由变量计算的位置
- 使用sessionScope变量计算数据源-变量在部分刷新和完全刷新时被设置为null
- 从两个变量计算任务的紧急程度