【问题标题】:How to set value of checkbox when checked and unchecked using ajax or jquery使用ajax或jquery选中和取消选中时如何设置复选框的值
【发布时间】:2014-11-30 22:56:43
【问题描述】:

我需要在选中和取消选中时获取复选框的值并将其保存在数据库中。如果选中,则值为 1,如果未选中,则值为 0。我目前正在使用下面的 sn-p,它会在我提醒它时显示我想要的结果。但是当保存在数据库中时,问题就来了。它仍然获得我在复选框 E.G 中设置的值:value='1'。

这是我的 jQuery 代码:

$(document).ready(function() {
    $('input[type="checkbox"]').click(function() {
        var val = this.type == "checkbox" ? +this.checked : this.value ;            
    });
});

这是我的 HTML 复选框:

<input type="checkbox" value="1" name="one_by_one" id="one_by_one" class="one_by_one">One

【问题讨论】:

  • 如何将其保存到数据库中?
  • @j08691 我在 codeigniter 中使用了一个 html 表单。所以当我按下保存按钮时,数据将保存在 mysql 数据库中。
  • @FelixKling 我明白了。我怎样才能在服务器端做到这一点?
  • 可能类似于$value = isset($_POST['one_by_one']) ? 1 : 0;。如果您使用的是 codeigniter,它可能会提供帮助函数来访问请求的数据。
  • @FelixKling 有没有办法在客户端设置它?也许是 Jquery?

标签: javascript jquery html ajax checkbox


【解决方案1】:

可能你想要这个:

$('input[type="checkbox"]').click(function () {
    $(this).prop("checked") ? $(this).val("1") : $(this).val("0")
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" value="1" name="one_by_one" id="one_by_one" class="one_by_one">One

【讨论】:

  • 感谢您的回复。这是否适用于多个复选框?
  • 嗨。我试过你的代码,但保存在数据库中的值仍然是 1。
【解决方案2】:

复选框的值永远不会改变(本身)。如果未选中复选框,则其值将不会发送到服务器。因此,在服务器端,您应该检查请求中是否包含one_by_one 并相应地设置值(例如,如果不存在则设置0,如果存在则设置one_by_one 的值)。

【讨论】:

  • 感谢您的回复。如何在 php 上相应地设置值?你能给我一些sn-p吗?
  • 可能类似于$value = isset($_POST['one_by_one']) ? 1 : 0;
猜你喜欢
  • 1970-01-01
  • 2011-08-26
  • 2014-02-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-04
  • 2011-02-22
  • 2021-05-21
相关资源
最近更新 更多