0
所以我试图根据选择值更改变量并在更改时显示它。我已经通过以静态方式设置变量来实现它的工作,但如果选择值被更改或增加,我不知道如何更改变量。Javascript onchange - 根据选择值更改变量
在这种情况下,我试图根据数量更改价格。如果数量大于X,则价格变为Y.请记住我是JavaScript新手,因此请保持您的答案基本。
这是我当前的代码:
HTML
<label>Single User</label>
<select class="input-mini" name="singleuser" id="singleuser" onchange="changed(this, 0, 34.95)">
<option value="0">0</option>
<option value="1">1</option>
</select> <font size="4"><b>@ $34.95/mo</b></font>
的Javascript
var size = 36;
var cart = new Array();
for (var j = 0; j < size; j++) //initialize cart to all 0
cart[j] = 0;
function changed(me, id, price) {
var amount = me.options[me.selectedIndex].value; //quantity passed
var t_price = amount * price; //multiply operation
cart[id] = t_price; //update cart array
update_spans();
document.getElementById(id).value = amount; //update quantity for final page
}
function update_spans() {
put("cart0", cart[0]);
}
function put(name, price) {
try {
price = (Math.round(price * 100)/100); //round
price = price.toFixed(2); //two decimal places
document.getElementById(name).innerHTML = price; //put into span
} catch (err) {
//error
}
}
查看我的回答,让我知道如果你发现它有用:) – hex494D49
这不完全是我想要做的。再读一遍,我看到我解释得不好。我试图用更高的数量来改变单位价格。如果数量高于X,则单价应该变为更低的价格。数量折扣! – Arringar
检查更新的答案。正如你所看到的,我添加了一个折扣数组。数组的索引保存该数量的折扣值,因此折扣[0] = 0%折扣,这意味着对于数量0,没有折扣;此外,折扣[1] = 5%,这意味着对于数量1,折扣为5%等等。当然,您可以更改这些值,并假设为数量2及以上定义折扣。在这种情况下,折扣数组看起来像这样[0,0,5,10,15,20,25] ...是否清楚:) – hex494D49