Javascript 在ajax请求中取消选中复选框
当ajax从服务器返回内容时,我试图保持复选框处于选中状态,但我不知道什么是取消选中它们或替换dom内容(重置它们) 搜索按钮触发点击事件并打印dom中的新div,隐藏#search div(和单选按钮,但其中一个仍处于选中状态)。现在出现了#search filters div和复选框,当我选中其中一个时,会调用ajax,打印到dom的只是第二个div(包含搜索数据),但是复选框(来自#search filters)被取消选中,我无法找出是什么导致了 这是处理复选框的代码(在ajax之前):Javascript 在ajax请求中取消选中复选框,javascript,jquery,ajax,Javascript,Jquery,Ajax,当ajax从服务器返回内容时,我试图保持复选框处于选中状态,但我不知道什么是取消选中它们或替换dom内容(重置它们) 搜索按钮触发点击事件并打印dom中的新div,隐藏#search div(和单选按钮,但其中一个仍处于选中状态)。现在出现了#search filters div和复选框,当我选中其中一个时,会调用ajax,打印到dom的只是第二个div(包含搜索数据),但是复选框(来自#search filters)被取消选中,我无法找出是什么导致了 这是处理复选框的代码(在ajax之前):
你可以发布一个有这个问题的小片段吗?你正在用AJAX调用的结果替换
#滚动到列表
的DOM,所以可能复选框被替换为新的HTML?宾果,我正要说同样的…)你确定$(这个)
回调中的
吗?@ChazyChaz是的。请阅读以获得极好的解释。
}).done(function(data) {
if ($( '#search' ).is(':visible'))
$( '#search' ).hide();
if ($(this).is(':checkbox')) {
var new_content = $(data).find( '#scroll-to-list' );
$( '#scroll-to-list' ).replaceWith( new_content );
}
else {
var new_content = $(data).find( '#search-filters, #scroll-to-list' );
$( '#results' ).html( new_content );
}
$( 'html, body' ).animate({
scrollTop: $( '#scroll-to-list' ).offset().top
}, 1000);
});
$('body').on('click', '.click, :checkbox, .pag_link', function() {
if ($(this).is(':checkbox')) {
if ($(this).attr('class') == 'filter1' || $('.filter1').is(':checked')) {
if ($('.filter1').is(':checked'))
var type = $(this).val(); // maybe should be an array
else var type = null;
} else var type = null;
if ($(this).attr('class') == 'filter2' || $('.filter2').is(':checked')) {
if ($('.filter2').is(':checked'))
var status = $(this).val(); // maybe should be an array
else var status = null;
} else var status = null;
if ($(this).attr('class') == 'filter3' || $('.filter3').is(':checked')) {
if ($('.filter3').is(':checked'))
var bhk = $(this).val(); // maybe should be an array
else var bhk = null;
} else var bhk = null;
}
else {
var type = status = bhk = null;
}