[英]EJS Script unable to execute within ajax 'success' call
我有一个使用AJAX检索一些数据的EJS页面。 加载数据后,我想将某些内容附加到div。 在附加的内容中,有使用以下脚本的复选框:
<script>
$('#selectall').change(function () {
$('.checkbox').prop('checked', this.checked).trigger('change');
});
</script>
这是我的ajax:
$.ajax({
type: 'POST',
data: JSON.stringify(data),
contentType: 'application/json',
url: 'http://localhost:3000/mytableajax',
success: function(result) {
//result is printed, everything is retrieved correctly
$('#mytable').empty();
var eventresult = JSON.parse(result);
var node = document.getElementById('mytable');
toAppend += '<input type="checkbox" id="selectall" class="c-check">'; //This checkbox will allow me to select all other checkboxes
//I have other checkboxes appended at the bottom with the class "checkbox"
node.innerHTML = toAppend;
document.getElementById('mytable').appendChild(node);
})
当我第一次访问该页面时,全选功能起作用。 但是,当如上述代码所示使用AJAX更改数据时,全选功能将停止工作。 我发现我的脚本似乎无法在AJAX的“成功”回调中执行,因为使用AJAX更改/追加后,所有使用脚本的函数似乎都失败了。
有什么方法可以在我的AJAX“成功”回调中执行脚本? 感谢任何反馈/建议!
我找到了一个切实可行的解决方案,希望对遇到同样问题的人有所帮助。
$(document).on('change', '#selectall' , function() {
$(".checkbox").attr('checked', $(this).is(":checked")).trigger('change');
});
基本上,以这种格式使用.on方法而不是.change方法,将允许AJAX中的内容访问此脚本。
从这里得到了这个主意: https : //forum.jquery.com/topic/use-on-click-do-not-work-after-ajax-call
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.