当用户尝试检查未选中的复选框时(如果已经选中它我什么都不做),我会阻止复选框被检查并通过AJAX调用进行验证。但我无法弄清楚如何再次“检查”它。我尝试使用$(this).trigger('click');
但它不起作用。
我也尝试将preventDefault
移至fail
条件。但这使得电话无法正常工作。我猜因为AJAX调用改变了范围。
$(document).ready(function(){
$('input:checkbox').click(function(e) {
if( $(this).prop('checked') && $(this).val()=='on' )
{
e.preventDefault();
var name = $(this).attr('name');
var pivot_attendee_program = name.split(/\]\[|\[|\]/);
var data = {
'pivot' : pivot_attendee_program[0],
'attendee_id' : pivot_attendee_program[1],
'program_id' : pivot_attendee_program[2]
};
//console.log(data);
$.ajax({
type: "GET",
url: '{{ route('ageCheck') }}',
data: data,
success: function(result){
console.log('success');
if(result == 'pass'){
console.log('pass');
$(this).trigger('click');
}
else{ //result == 'fail'
console.log('fail');
}
},
error: function(result){
alert(JSON.stringify(result));
}
});
//validate Age
//ajax check age of attendee against program
//ajax check age of attendee against program_seg
}
});
});