0

これは私を夢中にさせているので、SOコミュニティが私のためにこれに光を当ててくれることを願っています. 問題は、ユーザーが 2 つのオプション (レポートまたは評価) を選択して、数量ドロップダウンを動的に入力する注文フォームを作成していることです。注文の合計を計算するには、ドロップダウンを配列に変換する必要があると思いますが、動的ドロップダウンでこれを行う方法がわかりません。明確にするために、配列はすべてのオプションに金銭的価値を関連付けることになっています。ここにいくつかのコードがあります:

動的オプションの Javascript:

     function dropdownlist(listindex)
      {
       document.form.rnr.options.length = 0;

      switch (listindex)
     {

     case "0" :
          document.form.rnr.options[0]=new Option("1 - $40","1");
          document.form.rnr.options[1]=new Option("10 - $350 ($35 ea)","10");
          document.form.rnr.options[2]=new Option("25 - $700 ($28 ea)","25");
          document.form.rnr.options[3]=new Option("50 - $1200 ($24 ea)","50");
          document.form.rnr.options[4]=new Option("100 - $2000 ($20 ea)","100");
     break;

     case "1" :
          document.form.rnr.options[0]=new Option("Up to 249 - $750 (~$3 ea.)","249");
          document.form.rnr.options[1]=new Option("Up to 499  - $1375 (~$2.75 ea.)","499");
          document.form.rnr.options[2]=new Option("Up to 1000 - $2500 (~$2.50 ea)","1000");
          document.form.rnr.options[3]=new Option("1000+ - $4000","100000");

     break;

        }
     return true;
     }

そして、配列に関して私がやろうとしていることのオンラインで見つけたサンプルコードはこれです:

     var cake_prices = new Array();
     cake_prices["Round6"]=20;
     cake_prices["Round8"]=25;
     cake_prices["Round10"]=35;
     cake_prices["Round12"]=75;

この例ではケーキを使用しているという事実を無視してください。ケーキの注文フォームは、私が使用しているチュートリアルで開発者が使用した例でした。残念ながら、チュートリアルは静的データ用です。事前に感謝します。説明が必要な場合や追加のコードが必要な場合は、お気軽にお知らせください。

添加:

ドロップダウンは、次のような形式で呼び出されます。

     <select class="form" name="type" id="type" style="height:26px;" onchange="javascript:dropdownlist(this.options[this.selectedIndex].value);"> 
     <option value="" selected="selected" disabled="disabled">Select an Option</option>
     <option value="0">Reports</option>
     <option value="1">Ratings</option>

    <script type="text/javascript" language="JavaScript">
    document.write('<select class="form" name="rnr" id="rnr" style="height:26px;"><option value="">Select an option</option></select>')
    </script>
    <noscript>
    <select class="form" name="rnr" id="rnr" style="height:22px; "></select>
    </noscript>
4

1 に答える 1

0

わかりました、私はこれを自分で理解しました、そしてこれは私がこの問題に直面している人のために私がしたことです:

    <script>
     var rnr_prices= new Array();
         rnr_prices["1"]=40;
         rnr_prices["10"]=350;
         rnr_prices["25"]=700;
         rnr_prices["50"]=1200;
         rnr_prices["100"]=2000;
         rnr_prices["249"]=750;
         rnr_prices["499"]=1350;
         rnr_prices["249"]=750;
         rnr_prices["1000"]=2000;
         rnr_prices["100000"]=4000;

     function getDropPrice()
     {
        var dropPrices=0;
        var theForm = document.forms["form"];
        var selectedtype = theForm.elements["rnr"];

        dropPrices = rnr_prices[selectedtype.value];

        return dropPrices;
     }
   </script>

解決策はここで見つかりました:http ://www.javascript-coder.com/javascript-form/javascript-calculator-script.phtml

于 2012-11-25T00:23:37.493 に答える