- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个复选框购物车,我想知道是否可以使用 append()
函数对某些商品进行折扣?就像我有一个选项可以将特定项目从基本升级到高级,但我不希望折扣应用于该特定项目。
我有一个额外的问题,在附录中每个项目都带有数量框,如何排除某些项目以没有数量框而只有一些文本?
fiddle here
function buildCart(checked) {
// This one just builds the sidebar on demand. Quite useful if cart contents can be
// updated many ways (eg in another tab).
$("#cart_items").empty();
$('#total').html('0 €'); //default price for your cart
var cart_total = 0; //default (because your cart shows 10)
//For each checked item, add a sidebar element
for (var i = 0; i < checked.length; i++) {
//build cart item as appropriate.
var newItem = $("<div>");
var checkbox = $("input[name='" + checked[i] + "']");
$test1 = checkbox.parent('td').siblings('td').html(); // check this, you'll have the item name. (the first td)
$test2 = checkbox.attr('data-val'); // this will have the value on the "data-val" attribute on your checkbox
cart_total += parseInt($test2); //add the data-val to the cart_total
newItem.append('<table cellspacing="2" cellpadding="0" border="0" width="320"><tr> <td width="170" valign="top" align="left"> <div class="product_name">' + $test1 + '</div> </div> </td> <td width="30" valign="top" align="center"> <input type="text" class="quantity" value="1" maxlength="2" /> </td> <td width="70" valign="top" align="center"> <div class="product_total_cost price" data-val="' + $test2 + '">' + $test2 + ' €</div> </td> <td width="9" valign="top" align="right"> <div class="remove_product">X</div> </td> </tr> </table>');
/*************************/
var discount_pct = parseInt($(".discount").data("val"), 25);
var discount = -(cart_total * discount_pct / 100);
$('.discounted').text('- ' + -discount + ' €');
$('#total').html(cart_total + discount + " €"); //show this value as the total
$("#cart_items").append(newItem);
}
}
HTML
<table cellspacing="2" cellpadding="0" border="0" width="307">
<tr>
<td width="190" valign="top" align="left">
<div class="discount" data-val="10">Discount</div>
</td>
<td width="70" valign="top" align="center">
<div class="discounted" data-val="25">- 0 €</div>
</td>
</tr>
</table>
最佳答案
这是一个数据结构问题。
首先,您需要区分哪些产品符合折扣资格,哪些产品不符合折扣资格。您还必须区分可以编辑数量的产品和不能编辑数量的产品。
目前,您的所有输入如下所示:
<input type="checkbox" name="gold_package" value="Gold package" data-val="40" />
我首先添加一个 data-product-type
属性来设置产品类型是“折扣”还是“升级”。
在您的脚本中,您必须将 discount
类型的值推送到与 upgrade
类型不同的数组中。您还可以将项目类型升级
设置为没有数量框。
您的购物车总额将为 (discount[]
*%) + (upgrade[]
)。我希望它有帮助。
关于javascript - 追加购物车,如何对某些商品打折?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25314096/
假设我有 15 个商店,每个商店有 4 种产品和自定义价格: 每个商店不会拥有全部 4 种产品,但只能有 2 种、3 种、4 种甚至 1 种。 价格相似,但根据每个商店定制。所有商店的价格每 2-3
我这辈子似乎无法获得我想要的结构并使其正常运行,所以我一怒之下来找你们。 设置:我有一个名为 Futures_Contracts 的目录,里面有大约 30 个文件夹,全部以标的 Assets 命名,最
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题吗? 更新问题,以便 editing this post 提供事实和引用来回答它. 关闭 9 年前。 Improve
所以我已经使用 Smalltalk 大约 6 个月了(Squeak 和 Pharo),主要是做数据分析,我即将开始我的第一个 Seaside 应用程序。所以我对所有 Smalltalkers 的问题是
我选择的选项对象如下所示: { 3 : 'c', 5 : 'a', 6 : 'b', ... } 我的重复看起来像这样: {{v}} 我想按值 (v) 排序,但据我所知
什么是最好的方法(使用的算法/数据结构)来获得在购物网站上订购的前 k 项商品,相关信息在其 n 个服务器中的每一个的日志中? 我正在考虑一种方法,该方法涉及维护一个固定大小的双向链表 k 每个节点都
我正在尝试编写一个模式来验证以下 XML: AK47 The USSR's chief export back in the day, and the guer
我们正在尝试将 Android Market 集成到我们的服务中,我们需要验证用户确实是特定应用程序的所有者,我们需要自动检索该特定应用程序的销售情况。 因此,我们一直在评估 Google Check
我们有一个代表客户购物记录的数组。例如,它是这样一个数组: custA, item1, custB, item1, custA, item2, custB, item3, custC, item1,
我是一名优秀的程序员,十分优秀!