javascript - 使用ajax检查复选框时更新查询

标签 javascript php jquery mysql ajax

我有一个复选框。 如果我选中或取消选中该复选框,则应使用 Ajax 调用运行更新查询。

如果选中该复选框,则应更新 1,如果取消选中,则应更新 0。 但它不起作用。

复选框是:

<input type="checkbox" id="test_done" value="<?php echo $row1['id']; ?>" <?php if(($row1['test_done'])=='1') echo "checked='checked'"; ?> data-toggle="checkbox">

上面的 $row1['id'] 和 $row1['test_done'] 是列名称,它们来自另一个选择查询。

Ajax 是:

<script type="text/javascript">
  $(document).ready(function(){
    $("#test_done").click(function(){    
    var val = $(this).val();
         if($(this).is(':checked')){
         $.ajax({ type: "POST", 
         url: "test_done.php", 
         data: {val:val,apply:'1'} 

         });
         }
         else
         {
         $.ajax({ type: "POST", 
         url: "test_done.php", 
         data: {val:val,apply:'0'} 

         });

         }
      });
   });
 </script>

test_done.php 是:

include_once("connection.php");
if($_POST['apply']=='1')
{
$val = $_POST['val'];   
 mysql_query("update patient_package_details set test_done='1' where id='$val'") or die(mysql_error());
}
else
{
$val = $_POST['val'];   
mysql_query("update patient_package_details set test_done='0' where id='$val'") or die(mysql_error());
}

最佳答案

您可以在复选框上使用change事件而不是click事件。检查复选框是否被选中,然后发送 1,否则发送 0。 在 php 端,因为我们发送这两个值,所以您将使用 post 获得值。您不需要检查 $_POST["apply"] 的值。我已经设置了 apply 变量的值,因此只有一个查询有效。

$("input:checkbox").on("change", function () {
    var val = $(this).val();
    var apply = $(this).is(':checked') ? 1 : 0;
    $.ajax({type: "POST",
        url: "test_done.php",
        data: {val: val, apply: apply}
    });
});

test_done.php:

include_once("connection.php");
$val = $_POST['val'];   
$apply = $_POST['apply'];   
mysql_query("update patient_package_details set test_done='$apply' where id='$val'") or die(mysql_error());

关于javascript - 使用ajax检查复选框时更新查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48784717/

相关文章:

javascript - 在书签中转义原始的、未转义的字符串

javascript - 动画完成后回调函数

php - 类型错误:$(...) 不是函数

function.php 内的 PHP 代码片段

php - InlineScript 助手并不总是将脚本嵌入 CDATA

javascript - 幻灯片 javascript 不工作

Javascript 显示无效日期

javascript - HMVC Codeigniter 中没有 'Access-Control-Allow-Origin' 错误

javascript - 使用 jQuery/javascript 验证联系表单中的电子邮件

javascript - 通过 jquery 发送的关联 php 数组返回 [Object object]