如何取消已选中的输入

how to uncheck already checked input

本文关键字:输入 何取消 取消      更新时间:2023-09-26

对于每个事件,我都可以预订用户。但是,如果没有免费的地方可以预订,我将向用户显示一个错误消息。现在我还想禁用他选中的复选框(某些事件)。

当被选中时,我的输入看起来像这样:

<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件事,没有结果。我做错了什么?

您没有正确选择复选框

$('.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.'); 
       }
  }
});

你可以试试这个

$(this).prop('checked', false);
    or 
$(this).attr('checked', false);

尝试如下:

1)。$(this).prop('checked', '');

2)。$(this).attr('checked', '');

我更喜欢change事件而不是click事件。

我已经解决了,

var closestTr = $(this).closest('tr').attr('data-record-key');
var th=$(this);

然后在AJAX成功:

if( $res == 'NOK' ){
    th.prop('checked', false);
    alert('Already booked.'); 
}