我正在尝试计算除了P& P之外的所选CD的总数。我正在使用的代码总共是NaN?
这里很困惑。我做错了什么?
function calculateTotal() {
var Collection method = document.getElementById('collection').value +
var select CDs = document.getElementById('selectCD').value;
var total = document.getElementById('total');
total.value = 'collection'(total) + 'selectCD'(total);
}
Here is a JSFiddle包含完整代码。
答案 0 :(得分:1)
在你的小提琴中collection
和selectCD
是div(不是输入字段)包含输入字段。你做不到divElm.value
。
然后你的小提琴中的php代码通常能够输出多于一张cd,所以你需要将所选cd的总数添加到。
让 代码正常工作所需的最小更改是:
function calculateTotal(){
var coll = document.getElementsByName('deliveryType'),
cds = document.getElementsByName('cd[]'),
cdTot = 0,
L = coll.length;
while(L--){if(coll[L].checked){ //get shipping costs
coll=Number(coll[L].getAttribute('title')); break;
} }
L=cds.length;
while(L--){if(cds[L].checked){ //add total prices
cdTot += Number(cds[L].getAttribute('title'));
} }
// output total
document.getElementById('total').value = coll + cdTot;
}
此外,您还需要设置一些更多触发器来运行calculateTotal
(从运费和选定的CD中;这样,如果它们发生变化,总字段将更新为。)
根据您的小提琴,通过这些更改(以及一些其他修补程序)查看此 working fiddle ,这样您就可以在动作中看到它(计算)。
但我希望这是针对学校问题而不是网上商店。我会重新考虑我的策略,因为我认为你正在努力解决一个大安全问题。
祝你好运!