在我使用 ajax 对我的产品页面进行排序并用 ajax 新生成的 DOM 覆盖现有的 DOM 元素后,我的 JavaScript 不起作用。当我对缩放产品图像等产品进行排序时,所有效果都消失了。我阅读了不同的文章,这些文章告诉我应该使用 .on 来绑定我的 DOM,但 .on 以防万一。下面我显示代码
$(document).ready(function (){ function callAjax (){ if ($("#brandId").val() == "") { var brandId; } else { var brandId = $("#brandId").val(); } if ($("#categoryId").val() == "") { var categoryId; } else { var categoryId = $("#categoryId").val(); } if ($("#genderId").val() == "") { var genderId; } else { var genderId = $("#genderId").val(); } if ($("#stockId").val() == "") { var stockId; } else { var stockId = $("#stockId").val(); } $.ajax({ url: baseUrlForExternalJS.baseUrl + "site/sort_products", type:"POST", data: {'brandId':brandId, 'categoryId' : categoryId, 'genderId' : genderId , 'stockId' : stockId }, success: function(msg){ $('#products').html(msg); } }); } $("#categoryId").on('change', function(){ //alert('called'); callAjax(); }); $("#genderId").on('change', function(){ //alert('called'); callAjax(); }); $("#stockId").on('change', function(){ //alert('called'); callAjax(); }); $("#brandId").on('change', function(){ callAjax(); }) }); </script>