PHP jquery设置复选框值,如果选中或取消选中并发布

时间:2017-07-17 06:57:00

标签: php jquery checkbox

我想在取消选中时为检查设置值。但每次我发布我的数据无论是检查还是未检查,该值都将为'1'

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

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

<input type="checkbox" id="check" name="check" value="1">

jquery代码如下:

var check = $('#check').val();
var Data = {check:check};
$.ajax({
    type:"POST",
    url:"post.php",
    data:Data,
    beforeSend: function() {
        $("#btn-submit").html('sending');
    },
    success: function(data) {
    }
});

4 个答案:

答案 0 :(得分:2)

您应该使用is(':checked')来确定是否选中了复选框:

$("#check").on('change', function() {
  var checkFlag = 'unchecked';
  if ($(this).is(':checked')) {
    checkFlag = 'checked';
  }

  console.log(checkFlag);

  $.ajax({
    type: "POST",
    url: "post.php",
    data: {
      check: checkFlag
    },
    beforeSend: function() {
      $("#btn-submit").html('sending');
    },
    success: function(data) {}
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" id="check" name="check" value="1">

答案 1 :(得分:0)

尝试以下方法: var check = $('#check').is(":checked");

选中复选框时

您将获得true

未选中复选框时

您将获得false

答案 2 :(得分:0)

问题是因为无论是否选中该元素,复选框的window.open(URL, name,) 始终相同。

要执行您需要的操作,您可以根据val()状态设置值。试试这个:

checked

答案 3 :(得分:0)

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) {
    }
});