首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果选中或未选中PHP设置复选框值并发布

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

Stack Overflow用户
提问于 2017-07-17 06:56:59
回答 4查看 3.5K关注 0票数 2

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

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

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

代码语言:javascript
运行
复制
<input type="checkbox" id="check" name="check" value="1">

jquery代码如下:

代码语言:javascript
运行
复制
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) {
    }
});
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-07-17 07:02:15

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

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

代码语言:javascript
运行
复制
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
  }
});
票数 0
EN

Stack Overflow用户

发布于 2017-07-17 06:58:36

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

代码语言:javascript
运行
复制
$("#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) {}
  });
});
代码语言:javascript
运行
复制
<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">

票数 2
EN

Stack Overflow用户

发布于 2017-07-17 07:02:05

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

选中复选框时,

你会得到true

未选中复选框时,

你会得到false

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45137773

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档