使用Javascript和JSON进行加减
我有一个t恤价格表,你可以选择衣服,颜色,添加多个位置,然后一些额外的选项 当你选择“添加第二次打印”时,我想知道如何制作它。这会给衬衫增加价格,但也会增加价格折扣,比如72件、96件、144件等等 我尝试过多种方法。我想我可能需要一个if语句,所以无论何时选择第二个打印选项,它都会增加价格,但随后会对每件进行折扣,但我似乎无法理解 我将在底部显示我的一点代码,但您可以在 谢谢你看 以下是我的JSON选项之一:使用Javascript和JSON进行加减,javascript,jquery,json,Javascript,Jquery,Json,我有一个t恤价格表,你可以选择衣服,颜色,添加多个位置,然后一些额外的选项 当你选择“添加第二次打印”时,我想知道如何制作它。这会给衬衫增加价格,但也会增加价格折扣,比如72件、96件、144件等等 我尝试过多种方法。我想我可能需要一个if语句,所以无论何时选择第二个打印选项,它都会增加价格,但随后会对每件进行折扣,但我似乎无法理解 我将在底部显示我的一点代码,但您可以在 谢谢你看 以下是我的JSON选项之一: var shirtsJSON=[ { "pattern": "Delta A
var shirtsJSON=[
{
"pattern": "Delta Adult S/S 5.2oz",
"basePrice": 4.26,
"colors": {
"white": 0,
"athletic": 0.12,
"color": 0.23
},
"deductions": {
"de48pp": 0,
"de72pp": 0.68,
"de96pp": 1.01,
"de144pp": 1.45,
"de288pp": 1.69,
"de576pp": 1.91,
"de1200pp": 1.98,
"de1800pp": 1.98,
"de2400pp": 1.98,
"de5000pp": 1.98
},
"oneLocation": {
"onelocnone": 0,
"oneloc12": 3.28,
"oneloc34": 5.41,
"oneloc56": 7.52,
"oneloc78": 9.69,
"oneloc910": 11.80
},
"twoLocation": {
"twolocnone": 0,
"twoloc12": 3.28,
"twoloc34": 5.41,
"twoloc56": 7.52,
"twoloc78": 9.69,
"twoloc910": 11.80
},
"threeLocation": {
"threelocnone": 0,
"threeloc12": 3.28,
"threeloc34": 5.41,
"threeloc56": 7.52,
"threeloc78": 9.69,
"threeloc910": 11.80
},
"fourLocation": {
"fourlocnone": 0,
"fourloc12": 3.28,
"fourloc34": 5.41,
"fourloc56": 7.52,
"fourloc78": 9.69,
"fourloc910": 11.80
}
},
这里是它计算的地方:
function calculatePrices() {
totalPrice = 0.00;
for (i = 1; i <= numShirts; i++) {
sIndex = parseInt($('#shirt' + i + 'pattern').val());
color = $('#shirt' + i + 'color').val();
oneLocation = $('#shirt' + i + 'oneLocation').val();
twoLocation = $('#shirt' + i + 'twoLocation').val();
threeLocation = $('#shirt' + i + 'threeLocation').val();
fourLocation = $('#shirt' + i + 'fourLocation').val();
deductions = $('#shirt' + i - 'deductions').val();
price = shirtsJSON[sIndex]["basePrice"];
price += shirtsJSON[sIndex]["colors"][color];
price += shirtsJSON[sIndex]["oneLocation"][oneLocation];
price += shirtsJSON[sIndex]["twoLocation"][twoLocation];
price += shirtsJSON[sIndex]["threeLocation"][threeLocation];
price += shirtsJSON[sIndex]["fourLocation"][fourLocation];
totalPrice += price;
}
$('#48pc').html("<u>48pc : </u>" + currency + getMoney(totalPrice * 48));
$('#72pc').html("<u>72pc : </u>" + currency + getMoney(totalPrice * 72 ));
$('#96pc').html("<u>96pc : </u>" + currency + getMoney(totalPrice * 96));
$('#144pc').html("<u>144pc : </u>" + currency + getMoney(totalPrice * 144));
$('#288pc').html("<u>288pc : </u>" + currency + getMoney(totalPrice * 288));
$('#576pc').html("<u>576pc : </u>" + currency + getMoney(totalPrice * 576));
$('#1200pc').html("<u>1200pc : </u>" + currency + getMoney(totalPrice * 1200));
$('#1800pc').html("<u>1800pc : </u>" + currency + getMoney(totalPrice * 1800));
$('#2400pc').html("<u>2400pc : </u>" + currency + getMoney(totalPrice * 1800));
$('#5000pc').html("<u>5000pc : </u>" + currency + getMoney(totalPrice * 5000));
$('#48pp').html("<u>Per Piece : </u>" + currency + getMoney((totalPrice - shirtsJSON[sIndex].deductions.de48pp) / (1-0.25)));
$('#72pp').html("<u>Per Piece : </u>" + currency + getMoney((totalPrice - shirtsJSON[sIndex].deductions.de72pp) / (1-0.25)));
$('#96pp').html("<u>Per Piece : </u>" + currency + getMoney((totalPrice - shirtsJSON[sIndex].deductions.de96pp) / (1-0.25)));
$('#144pp').html("<u>Per Piece : </u>" + currency + getMoney((totalPrice - shirtsJSON[sIndex].deductions.de144pp) / (1-0.15)));
$('#288pp').html("<u>Per Piece : </u>" + currency + getMoney((totalPrice - shirtsJSON[sIndex].deductions.de288pp) / (1-0.15)));
$('#576pp').html("<u>Per Piece : </u>" + currency + getMoney((totalPrice - shirtsJSON[sIndex].deductions.de576pp) / (1-0.12)));
$('#1200pp').html("<u>Per Piece : </u>" + currency + getMoney((totalPrice - shirtsJSON[sIndex].deductions.de1200pp) / (1-0.12)));
$('#1800pp').html("<u>Per Piece : </u>" + currency + getMoney((totalPrice - shirtsJSON[sIndex].deductions.de1800pp) / (1-0.12)));
$('#2400pp').html("<u>Per Piece : </u>" + currency + getMoney((totalPrice - shirtsJSON[sIndex].deductions.de2400pp) / (1-0.12)));
$('#5000pp').html("<u>Per Piece : </u>" + currency + getMoney((totalPrice - shirtsJSON[sIndex].deductions.de5000pp) / (1-0.10)));
函数calculatePrices(){
总价=0.00;
对于(i=1;i首先,我建议您在服务器端进行计算。您可以使用一个简单的Web服务和一个以衬衫数量为参数的方法
如果不使用WCF服务,可以使用以下库反序列化JSON参数:
执行计算并将其发送回客户端。使用jQuery可以轻松完成此操作,如下所述:
在成功回调中,您可以操纵DOM以显示正确的信息