【发布时间】:2017-02-03 13:38:05
【问题描述】:
我想要一个 div 框分别显示所有选定项目的价格以及选定项目的价格总和。
我有这个来显示带有所选产品和价格总和的框:
<div id="selectedProductList">
<ul>
<li>selected product…</li>
<li>selected product…</li>
</ul>
</div>
<div id="priceTotal">xyz $</div>
以及选择和输入字段中带有产品名称和价格的数据:
<select class="websiteProductList" name"product1">
<option data-price="29.99" data-name="Product 1" value="1">Product 1</option>
<option data-price="39.00" data-name="Product 1 with special" value="0">Product1 with special</option>
</select>
<input class="websiteProductList" type="radio" name="product2" data-name="Product 2" data-price="49.99">
<input class="websiteProductList" type="radio" name="product3" data-name="Product 3" data-price="59.99">
我有这个代码:
$('.websiteProductList').change(function() {
$(this).find('option:selected').each(function() {
if ($(this).attr('data-price')) {
price = $(this).data('price');
productName = $(this).data('name');
sum += price;
$('#selectedProductList > ul').append('<li>' + productName + '</li>');
}
});
$('#priceTotal').text(sum);
});
但它不起作用。不幸的是,我对 JavaScript 的了解也非常有限。因为你可以立即看到它,可能代码太糟糕了,以至于他无论如何都不会工作。不幸的是,我不能再进一步了。有什么想法吗?
【问题讨论】:
-
结果如何?
-
我能知道您在数据属性中保留价格的原因是什么吗?您可以将价格作为价值知道.....有什么理由吗?
-
@RajeshBaskaran 在结果列表中,我想获得所选产品的总和和产品名称列表。我认为使用数据属性会更容易,因为它可以以不同的方式访问。
-
好的,您有两种选择产品的方式 1. 带有单选按钮,2. 带有下拉菜单 您将使用的任何其他方法,例如:复选框、文本框多选下拉菜单以及其他.......
-
@RajeshBaskaran 正确。我只有单选按钮和下拉菜单。没有别的了。
标签: jquery attributes sum