JQuery on(“change”...)方法在Plunker中不起作用

时间:2015-05-25 22:47:27

标签: jquery javascript-events onchange plunker

我创建了this Plunk来演示和讨论我正在开发的正在开发的购物车here(当它持续时)。

在“真实”中,选择一个物种填充了Variety下拉菜单。但是,它不适用于Plunk。

事实上,$('#species-select').on('change', ...永远不会被解雇。

必须具备Plunks工作方式的一些特点。有任何建议/解决方法吗?

修改 只是为了添加一些内容 - 在“真实”版本中,我在页面底部加载了javascript。普兰克不喜欢这样。我可以通过添加标题创建一个变通方法:

<script type='text/javascript'>
  $(document).ready(function(){
      $('#species-select').on('change', function() {
      var variety_key = $('#species-select').val();
      console.log( "species changed to " + variety_key);
      alert( "species changed to " + variety_key);
      $('#variety-select').empty();
      fillVarietiesList(variety_key);
    });
  });
</script>

http://plnkr.co/edit/91FYs44DuLkS19YPLzd6?p=info

进一步更新 这仍然没有用,因为我无法将商品添加到购物车。我发现这就是诀窍:

<script type='text/javascript'>
  $(document).ready(function(){
      $.getScript('products.js');
      $.getScript('fill_selects.js');
      $.getScript('shopping_cart.js');
      $('#species-select').on('change', function() {
      var variety_key = $('#species-select').val();
      console.log( "species changed to " + variety_key);
      alert( "species changed to " + variety_key);
      $('#variety-select').empty();
      fillVarietiesList(variety_key);
    });
  });
</script>

http://plnkr.co/edit/91FYs44DuLkS19YPLzd6?p=preview

1 个答案:

答案 0 :(得分:2)

这是因为当jQuery运行时,它将事件挂钩到不存在的dom元素上,所以它没有任何附加内容。这可以通过将您的挂钩切换到“开启”来解决。事件:

$(document).on('change','#species-select', function...

我希望这是有道理的。