在Javascript中将返回变量添加到数字
在这个脚本中,我需要将OptionPricing变量添加到var AccomPricing中的2:258。我想写这样的东西2:258+(VarPrice),但它不是这样工作的。总包应添加到第二个选项值中。示例:258+套餐价格=总价#2在Javascript中将返回变量添加到数字,javascript,variables,math,numbers,Javascript,Variables,Math,Numbers,在这个脚本中,我需要将OptionPricing变量添加到var AccomPricing中的2:258。我想写这样的东西2:258+(VarPrice),但它不是这样工作的。总包应添加到第二个选项值中。示例:258+套餐价格=总价#2 听起来您需要在AccomPricing对象的条目上设置一个标志,以告知您是否再次添加套餐价格。大概是这样的:| 旁注:我试着在上面使用你的大写形式。仅供参考,在JavaScript中,除了全局变量之外,使用初始封顶的变量名是非常不寻常的。很难判断您要做什么。您
听起来您需要在
AccomPricing
对象的条目上设置一个标志,以告知您是否再次添加套餐价格。大概是这样的:|
旁注:我试着在上面使用你的大写形式。仅供参考,在JavaScript中,除了全局变量之外,使用初始封顶的变量名是非常不寻常的。很难判断您要做什么。您想何时将
价格添加到会计定价[2]
?因为updateTotal
基本上已经做到了这一点。它从checkOptions
获取价格,并将其添加到AccomPricing
的相应索引中的金额中。因此,仅从对象初始值设定项AccomPricing
中删除+var Price
就足够了。所以,我真的不清楚为什么你认为你想在那里做点什么,或者你想做什么。好吧,这就是我想要实现的。OptionsPricing保留我们的单选按钮(称为PACKAGES)的最终价值。AccomPricing有一个附加值,我们称之为入住价格。但仅针对第二位乘客2(2:258)258美元,我们还想向他们收取套餐的全价,但不是3或4美元#1已经收取了完整套餐的费用,但如果有第二位入住者,我们需要再次增加完整套餐的价格!有意义吗?没有,没有:-)那么你想根据AccompPricing
中的哪个条目使用checkOptions
的结果做点什么吗?我只想将OptionPricing的最终结果添加到AccompPricing中的#2选项中,这样定价就会改变。258+无论期权定价(套餐)的最终结果如何。这样一来#2的收费为258美元,再加上例如1099美元=1357美元。但1099美元的价格将随选择而改变$1099可能是2499美元或1999美元等等。我试图复制并粘贴您拥有的var AccomPricing并替换为我的,但它没有给出总数。嗯?@PhilMulkins:你不能仅仅抓住解决方案的一部分,然后期望它起作用。您如何使用AccomPricing中的条目也发生了变化。这看起来是可行的,但不能给出总数#2需要收取两倍于期权定价的费用,所以你就在那里,但不输出总数。你说得对,t.J.,我的错。但它仍然不起作用。还有什么我需要对HTML做的吗?顺便说一句,我是一个糟糕的javascripter!但我对PHP很在行。我应该先学习javascript,这是肯定的。
// Collect Data & Prices To Update Dynamic Prices
var OptionPricing = {
'pack11049': 1049,
'pack21199': 1199,
'pack31199': 1199,
'pack41299': 1299,
'pack51449': 1449,
'pack61499': 1499,
'pack71549': 1549,
'pack81699': 1699,
'pack91799': 1799,
'pack101999': 1999,
'pack112499': 2499,
'pack122549': 2549
};
function checkOptions() {
var Price = 0;
for (Packs in OptionPricing) {
if ($('#' + Packs).is(':checked')) {
Price += OptionPricing[Packs];
}
}
return Price;
}
var AccompPricing = {
0: 0,
1: 129,
2: 258 + (var Price),
3: 1057,
4: 1856
};
function checkAccomp() {
var Accomp = parseInt($('#howmany').val(), 10);
return AccompPricing[Accomp];
}
function updateTotal() {
var ThePrice = checkOptions() + checkAccomp();
$('#TotalPrice').text('$' + ThePrice + '.00');
}
$(function () { $('.DoPricing').click(updateTotal); });
// Collect Data & Prices To Update Dynamic Prices
var OptionPricing = {
'pack11049': 1049,
'pack21199': 1199,
'pack31199': 1199,
'pack41299': 1299,
'pack51449': 1449,
'pack61499': 1499,
'pack71549': 1549,
'pack81699': 1699,
'pack91799': 1799,
'pack101999': 1999,
'pack112499': 2499,
'pack122549': 2549
};
var AccompPricing = {
0: {Price: 0, Flag: false},
1: {Price: 129, Flag: false},
2: {Price: 258, Flag: true},
3: {Price: 1057, Flag: false},
4: {Price: 1856, Flag: false}
};
function checkOptions() {
var Price = 0;
for (Packs in OptionPricing) {
if ($('#' + Packs).is(':checked')) {
Price += OptionPricing[Packs];
}
}
return Price;
}
function checkAccomp() {
var Accomp = parseInt($('#howmany').val(), 10);
return AccompPricing[Accomp];
}
function updateTotal() {
var PackagePrice, Accomp, ThePrice;
PackagePrice = checkOptions();
Accomp = checkAccomp();
ThePrice = PackagePrice + Accomp.Price;
if (Accomp.Flag) {
ThePrice += PackagePrice;
}
$('#TotalPrice').text('$' + ThePrice + '.00');
}
$(function () { $('.DoPricing').click(updateTotal); });