-6

我有一个可以正常工作的选择选项,但我想要的是如果选择了多个,那么必须添加 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>
4

1 回答 1

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. 你需要做parseInt(value, radix)默认基数是 10

示例

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
}

希望这可以帮助!!

于 2013-02-25T05:55:02.660 回答