对于每个活动,我都可以预订用户。但如果没有可预订的免费地点,我会向用户显示错误消息。现在我想禁用他选择的复选框(某些事件)。
选择后,我的输入如下所示:
<input type="checkbox" checked="checked">
现在在JS。如果已经预订了此活动,并且我没有显示免费地点:
$('.jtable tr.jtable-data-row td.jtable-selecting-column input:checkbox').click(function(){
if($(this).is(":checked")) {
var closestTr = $(this).closest('tr').attr('data-record-key');
$.ajax({
url: 'Actions.php?action=resp',
type: 'post',
data: '&id='+closestTr,
success: function(output)
var $res = output.substring(11, 14);
if( $res == 'NOK' ){
$(this).prop('checked', false);
alert('Already booked.');
}
}, error: function()
alert('something went wrong');
}
});
}
});
由于某种原因,我无法取消它,我已经尝试了10件事而没有结果。我做错了什么?
答案 0 :(得分:0)
尝试以下方法:
1。)$(this).prop('checked', '');
2。)$(this).attr('checked', '');
我更喜欢change
事件而不是click
。
答案 1 :(得分:0)
您没有正确选择复选框
$('.jtable tr.jtable-data-row').on("click", "td.jtable-selecting-column input:checkbox ",function(){
if($(this).is(":checked")) {
var $res = output.substring(11, 14);
if( $res == 'NOK' ){
$(this).prop('checked', false);
alert('Already booked.');
}
}
});
答案 2 :(得分:0)
你可以试试这个
$(this).prop('checked', false);
or
$(this).attr('checked', false);
答案 3 :(得分:0)
我已经解决了它,
var closestTr = $(this).closest('tr').attr('data-record-key');
var th=$(this);
而不是AJAX的成功:
if( $res == 'NOK' ){
th.prop('checked', false);
alert('Already booked.');
}