PHP jquery设置复选框值(如果选中或未选中)并发布

PHP jquery设置复选框值(如果选中或未选中)并发布,php,jquery,checkbox,Php,Jquery,Checkbox,我想在取消选中该复选框时设置该复选框的值。但每次我发布数据时,无论是否选中,其值都将为“1” 我试图设置!在post.php中设置($check),但值也将为1 当我取消选中复选框时,如何设置不同的值 <input type="checkbox" id="check" name="check" value="1"> 您应该使用is(':checked')确定复选框是否选中: $(“#检查”).on('change',function(){ var checkFlag='unche

我想在取消选中该复选框时设置该复选框的值。但每次我发布数据时,无论是否选中,其值都将为“1”

我试图设置
!在
post.php
中设置($check)
,但值也将为1

当我取消选中复选框时,如何设置不同的值

<input type="checkbox" id="check" name="check" value="1">
您应该使用
is(':checked')
确定复选框是否选中:

$(“#检查”).on('change',function(){
var checkFlag='unchecked';
如果($(this).is(':checked')){
checkFlag='checked';
}
console.log(checkFlag);
$.ajax({
类型:“POST”,
url:“post.php”,
数据:{
检查:检查标志
},
beforeSend:function(){
$(“#btn提交”).html('sending');
},
成功:函数(数据){}
});
});

尝试以下操作:
var check=$('#check')。是(“:checked”)

选中复选框时

您将获得
true

未选中复选框时


您将得到
false

这个问题是因为无论是否选中元素,复选框的
val()
总是相同的

要执行所需操作,您可以根据选中的
状态设置值。试试这个:

var $check = $('#check');

$.ajax({
  type: "POST",
  url: "post.php",
  data: { 
    check: $check.prop('checked') ? $check.val() : 0 
  },
  beforeSend: function() {
    $("#btn-submit").html('sending');
  },
  success: function(data) {
    // do something with the response
  }
});

:选中
选择器<代码>道具('checked')
或其他方式。互联网上到处都是教程。
$('#check').val()更改为
$(“#检查”)。是(“:检查”)
将根据状态发送true或false我不知道这如何帮助OP在其AJAX请求中发送值?好吧,它让您知道它是否被选中,他只需要将其作为参数发送。
var $check = $('#check');

$.ajax({
  type: "POST",
  url: "post.php",
  data: { 
    check: $check.prop('checked') ? $check.val() : 0 
  },
  beforeSend: function() {
    $("#btn-submit").html('sending');
  },
  success: function(data) {
    // do something with the response
  }
});
if ($("#check").is(':checked')) {
   var check = $('#check').val();
}else{
   var check = 0;
}
var Data = {check:check};
$.ajax({
    type:"POST",
    url:"post.php",
    data:Data,
    beforeSend: function() {
        $("#btn-submit").html('sending');
    },
    success: function(data) {
    }
});