-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 に答える