0

这让我发疯了,所以我当然希望 SO 社区可以为我阐明这一点。问题是我正在创建一个订单表单,其中用户有两个选项可供选择(报告或评级),它们动态填充数量下拉列表。为了计算他们的订单总数,我相信我必须将下拉列表转换为数组,但是我不知道如何为动态下拉列表执行此操作。为了澄清数组,应该将货币价值与每个选项相关联。这是一些代码:

用于动态选项的 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;

请忽略该示例使用蛋糕的事实,蛋糕订单是开发人员在我正在使用的教程中使用的示例,不幸的是该教程是针对静态数据的。在此先感谢您,如果需要任何说明或需要任何其他代码,请随时告诉我!

添加:

Dropdown 以如下形式调用:

     <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 回答