【问题标题】:PHP jquery set checkbox value if checked or unchecked and postPHP jquery设置复选框值,如果选中或未选中并发布
【发布时间】:2017-12-21 14:37:30
【问题描述】:

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

我尝试在post.php 中设置!isset($check),但该值也将为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) {
    }
});

【问题讨论】:

  • :checked 选择器。 prop('checked') 或其他方式。网上到处都是教程。
  • $('#check').val(); 更改为 $('#check').is(":checked"); 将根据状态发送 true 或 false

标签: php jquery checkbox


【解决方案1】:

您应该使用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">

【讨论】:

  • 我看不出这如何帮助 OP 在他的 AJAX 请求中发送值?
  • 好吧,它让你知道它是否被检查,他只需要将它作为参数发送。
【解决方案2】:

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

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

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

【讨论】:

    【解决方案3】:

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

    选中复选框时

    你会得到true

    未选中复选框时

    你会得到false

    【讨论】:

      【解决方案4】:
      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) {
          }
      });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-12-24
        • 2012-02-23
        • 2013-05-21
        • 2019-08-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多