下拉价格更新

Drop down price update

我正在尝试构建一个让人们选择许可证的应用程序,并且不同许可证的价格不同。我想要在产品页面上实时更新价格。这是我对以下代码的参考:

代码:

<script type="text/javaScript">
    var price = {"3":"11","2":"500","1":"1000"};
 $(function() {
        $('select[name=dropdown_price_change]').change(function() {
            document.getElementById('price_disp').innerHTML = price[$(this).val()];
        });

        // Trigger on dom ready
        $('select[name=dropdown_price_change]').change();
    });
</script>
<div class="product-price" id="price_disp">
    <form class="cart nobottommargin clearfix" method="get">
        <div class="quantity clearfix">
            <select id="dropdown_price_change" name="dropdown_price_change" class="form-control">
                <option value="3">Personal License</option>
                <option value="2">Small Firm License</option>
                <option value="1">Enterprise or Developer License</option>
            </select>
        </div>
     </form>
 </div>

提前致谢。 ;)

innerHtml 应该是 innerHTML 并且坦率地说,在这种情况下,您可能应该使用 textContent 而不是 innerHTML,因为 [=16= 的值] 不包含任何 HTML.

此外,您不应在文档准备就绪时触发 change 功能,因为用户将永远无法以这种方式查看和使用下拉列表。

最后,将 "dummy" 选项作为默认选项添加到列表中,以便用户必须更改值才能从列表中 select "Personal License"。没有这个,更改事件将不会触发,因为那是一开始的默认选择。

var price = {"3":"11","2":"500","1":"1000"};

$(function(){
  $('select[name=dropdown_price_change]').change(function(){
    document.getElementById('price_disp').textContent = price[$(this).val()];
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="product-price" id="price_disp">
  <form class="cart nobottommargin clearfix" method="get">
    <div class="quantity clearfix">
      <select id="dropdown_price_change" name="dropdown_price_change" class="form-control">
        <option value="">-- Select an Option --</option>
        <option value="3">Personal License</option>
        <option value="2">Small Firm License</option>
        <option value="1">Enterprise or Developer License</option>
      </select>
    </div>
  </form>
</div>