使用值

时间:2016-10-13 15:52:06

标签: javascript drop-down-menu html-table

我有一个带有各种选项值的选择菜单。如果选择的值小于25,我需要将所选值乘以“10”,如果选择的值是25或更大,我需要它乘以“12”。

我是JS的新手。我可以通过使用下面的代码乘以10来使其工作,但我不知道如何编写if / else语句来检查选择是否小于25并乘以10或25或更大并且乘以到12点。

HTML:

<table width="100%" border="0">
  <tr>
    <td>
      <select id="licenseRegs">
        <option value="5">5</option>
        <option value="10">10</option>
        <option value="15">15</option>
        <option value="20">20</option>
        <option value="25">25</option>
        <option value="50">50</option>
        <option value="75">75</option>
        <option value="100">100</option>
        <option value="125">125</option>
      </select>
      </td>

      <td id="total-price">Price show here</td>
    </tr>
  </table>

Javascript:这会将所有选择值乘以10.我需要它乘以10(如果小于25),但如果25或更多则乘以12。

// calculate price of # of computer selection
$(document).ready(function() {
  var pricePerReg = 10;
  var licenseRegsSelect = $('#licenseRegs');

  function updateTotalPrice() {
    licenseRegs = licenseRegsSelect.val();
    $('#price').html(pricePerReg * licenseRegs);
  }

  licenseRegsSelect.change(function() {
    updateTotalPrice();
  });

  updateTotalPrice();
});

1 个答案:

答案 0 :(得分:1)

使用您的代码, 我添加了一个if / else语句(希望它是不言自明的,给出你对问题的描述。它就是这样 - 检查licenseRegs是否小于,或者大于或等于25。)。< / p>

我还使用内置的parseInt()来获取整数;它存储为字符串。 (这是“25”(字符串)和25(int)之间的差异。 这可能没有必要,但这是一个很好的做法。有关详细信息,请参阅此问题:How do I convert a string into an integer in JavaScript?

// calculate price of # of computer selection
$(document).ready(function() {
  var pricePerRegUnder = 10;
  var pricePerRegAbove = 12;
  var licenseRegsSelect = $('#licenseRegs');

  function updateTotalPrice() {

    licenseRegs = parseInt(licenseRegsSelect.val(), 10);

    ///////////// New code here ////////////
    var total;
    if (licenseRegs < 25) {
      total = licenseRegs * pricePerRegUnder;
    } else {
      total = licenseRegs * pricePerRegAbove;
    }
    //////////// Ends here /////////////////

    $('#price').html(total);
  }

  licenseRegsSelect.change(function() {
    updateTotalPrice();
  });

  updateTotalPrice();
});