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

Posted

技术标签:

【中文标题】PHP jquery设置复选框值,如果选中或未选中并发布【英文标题】:PHP jquery set checkbox value if checked or unchecked and post 【发布时间】: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 【参考方案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) 
    
);

【讨论】:

以上是关于PHP jquery设置复选框值,如果选中或未选中并发布的主要内容,如果未能解决你的问题,请参考以下文章

用于检查输入是不是“选中”或未“选中”的复选框功能

页面加载时,显示选中或未选中的复选框

用jquery把复选框checkbox选中的值放入input框中

PHP JQuery Checkbox - 如果复选框被预先选中,它不会在未选中时删除“选中”属性

JQUERY选中问题

循环检查复选框并计算每个选中或未选中的复选框