Javascript jquery ajax-使用复选框更新不起作用

Javascript jquery ajax-使用复选框更新不起作用,javascript,jquery,codeigniter,Javascript,Jquery,Codeigniter,我想创建一个实时工作列表。因此,当添加新列表时,它将实时增加,或者当作业完成时,用户可以实时查看列表。所以其他连接到我的网站的用户在不刷新页面的情况下会实时知道 到目前为止,添加作业列表可以很好地工作,但在执行选中的操作时不起作用。如果该函数在1秒内完成,则会对其进行检查。选中后,将使用php代码将作业列表的状态更新为1。 但问题是复选框不起作用 以下是我的html代码: <div class="container-todolist"> <ul c

我想创建一个实时工作列表。因此,当添加新列表时,它将实时增加,或者当作业完成时,用户可以实时查看列表。所以其他连接到我的网站的用户在不刷新页面的情况下会实时知道

到目前为止,添加作业列表可以很好地工作,但在执行选中的操作时不起作用。如果该函数在1秒内完成,则会对其进行检查。选中后,将使用php代码将作业列表的状态更新为1。 但问题是复选框不起作用

以下是我的html代码:

  <div class="container-todolist">


          <ul class="todo-list">
            <?php foreach ($tampiltodolist as $list): ?>


            <li class="<?php if ($list['status']==='1') {
              echo " checked";
            }else {
              echo " notchecked";
            } ?>">
              <!-- drag handle -->
              <span class="handle">
                    <i class="fa fa-ellipsis-v"></i>
                    <i class="fa fa-ellipsis-v"></i>
                  </span>
              <!-- checkbox -->
              <input type="checkbox" id="checkbox" <?php if ($list['status']==='1') {
                echo "checked";
              } ?> name="status" value="<?php echo $list['nolist']; ?>">
              <!-- todo text -->
              <span class="text"><?php echo $list['isi']; ?></span>
              <!-- Emphasis label -->
              <small class="label label-danger"><i class="fa fa-clock-o"></i>
                <?php $tanggal=$list['tanggal'];
                  $waktu =$list['waktu'];
                echo time_elapsed_string("$tanggal $waktu");
               ?>
              </small>
              <!-- General tools such as edit or delete-->
              <div class="tools">
                <i class="fa fa-edit"></i>
                <i class="fa fa-trash-o"></i>
              </div>
            </li>
            <?php endforeach; ?>
          </ul>

            </div>


    这应该对你有用

    $('input:checkbox').on('change',function(){
            const checkdata= $(this).val();
    
              if ($(this).prop('checked')) {
    
                $.ajax({
                  type:"POST",
                  url:urlCheck,
                  data:{"checkdata":checkdata},
                  success(function(data){
                    $('.container-todolist').load(urlList);
                  })
                });
              }
            });
    

    您应该更新选择器:

    $(document).on('change','input:checkbox',function(){
    const checkdata= $(this).val();
    
      if ($(this).prop('checked')) {
    
        $.ajax({
          type:"POST",
          url:urlCheck,
          data:{"checkdata":checkdata},
          success(function(data){
            $('.container-todolist').load(urlList);
          })
        });
      }
    });
    

    您正在处理id为的复选框,它不会触发其他复选框。仅触发单个复选框。我厌倦了这段代码,但仍然无法使用$('input[type=“checkbox”]”)。在('click',function(){weired,'checkdata'中的值是什么,为什么要将其设置为常量?。checkdata中的值不是奇怪的值。应该是真/假。在成功函数中得到了什么?
    $(document).on('change','input:checkbox',function(){
    const checkdata= $(this).val();
    
      if ($(this).prop('checked')) {
    
        $.ajax({
          type:"POST",
          url:urlCheck,
          data:{"checkdata":checkdata},
          success(function(data){
            $('.container-todolist').load(urlList);
          })
        });
      }
    });