Javascript jquery根据链接获取复选框,所有复选框都具有相同的类
我有一个初始AJAX请求,它带来了一些额外的html和一些复选框:Javascript jquery根据链接获取复选框,所有复选框都具有相同的类,javascript,jquery,arrays,twig,Javascript,Jquery,Arrays,Twig,我有一个初始AJAX请求,它带来了一些额外的html和一些复选框: <input type="checkbox" name="user-responses[]" class="js-answer-check question1" data-question="1" data-option-id="1"> <input type="checkbox" name="user-responses[]" class="js-answer-check question1" data-qu
<input type="checkbox" name="user-responses[]" class="js-answer-check question1" data-question="1" data-option-id="1">
<input type="checkbox" name="user-responses[]" class="js-answer-check question1" data-question="1" data-option-id="2">
<input type="checkbox" name="user-responses[]" class="js-answer-check question1" data-question="1" data-option-id="3">
<input type="checkbox" name="user-responses[]" class="js-answer-check question3" data-question="3" data-option-id="7">
<input type="checkbox" name="user-responses[]" class="js-answer-check question3" data-question="3" data-option-id="8">
<input type="checkbox" name="user-responses[]" class="js-answer-check question3" data-question="3" data-option-id="9">
我怎样才能防止这种情况发生
谢谢 每次发送AJAX请求之前,请清除arr选项,以免发送重复数据。您只需在向选项添加数据之前执行此操作: 选项arr=[] 或者更好的方法是,在该函数中声明一个局部数组,而不是将其作为全局变量: var optionsArr=[];(并删除全局)
<input type="checkbox" name="user-responses[]" class="js-answer-check question3" data-question="3" data-option-id="7">
<input type="checkbox" name="user-responses[]" class="js-answer-check question3" data-question="3" data-option-id="8">
<input type="checkbox" name="user-responses[]" class="js-answer-check question3" data-question="3" data-option-id="9">
var optionsArr = [];
var questionID;
$(document).on('click', '.js-answer-check', function(e){
if ($(this).is(':checked')){
questionID = $(this).data('question');
var optionID = $(this).data('id');
optionsArr.push(optionID);
} else {
var removeItem = $(this).data('id');
optionsArr = $.grep(optionsArr, function(value){
return value != removeItem;
});
}
});