我有一个选择工作正常,但我想要的是如果选择多个,那么必须添加10%的折扣,如何做到这一点
并在选中时将值乘以Java脚本
//javascript
function totprice(f,n,amt)
{
var tot=0;
document.getElementById('lbl_tot'+n).value=amt*f;
for (var k=1; k<=document.getElementById('rowcnt').value; k++)
{
if(document.getElementById('lbl_tot'+k))
{
tot=parseInt(tot) + parseInt(document.getElementById('lbl_tot'+k).value);
}
}
document.getElementById('txttot').value=tot;
document.getElementById('txttotprice').value=tot;
}
HTML
<select name="amt" id="amt" onchange="return totprice(this.value,2,110);">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
</select>
答案 0 :(得分:0)
您的选择标记应为
<select name="amt" id="amt" onchange="return totprice(this.value,2,110);" multiple>
使其多选。现在,当用户选择多个选项(使用Shift +单击)时,在JavaScript函数中获取这些值并进行处理(提供折扣/任何逻辑)
<强>更新强>
您希望将用户选择的值乘以折扣金额(110)
在你的JS中有这个
var x = parseInt(f)*parseInt(amt);
If f = 2 and amt = 110 then x = 220
。您需要通过默认基数为10 {/ em>
parseInt(value, radix)
实施例:
var optionSelected = document.getElementById('amt').value; //optionSelected is nothing but this.value
if(optionSelected > 1)
{
//Offer discount
var x = parseInt(f)*parseInt(amt); //where f and amt is passed through function call
}
else
{
// Do nothing/ other logic
}
希望这会有所帮助!!