我创建了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>
答案 0 :(得分:2)
这是因为当jQuery运行时,它将事件挂钩到不存在的dom元素上,所以它没有任何附加内容。这可以通过将您的挂钩切换到“开启”来解决。事件:
$(document).on('change','#species-select', function...
我希望这是有道理的。