Php CodeIgniter检查复选框的值

Php CodeIgniter检查复选框的值,php,jquery,codeigniter,ion-auth,Php,Jquery,Codeigniter,Ion Auth,我在检查CodeIgniter中复选框的值时遇到问题。我正在尝试实现此处找到的解决方案:。无论是否选中复选框,以下代码的计算结果都不会为true。如果我向输入中添加value=1,它的计算结果总是true 我的看法是: .... <input name="Tuesday" id="Tuesday" type="checkbox" /> .... <script type="text/javascript"> .on('finished', function(e) {

我在检查CodeIgniter中复选框的值时遇到问题。我正在尝试实现此处找到的解决方案:。无论是否选中复选框,以下代码的计算结果都不会为true。如果我向输入中添加value=1,它的计算结果总是true

我的看法是:

....
<input name="Tuesday" id="Tuesday" type="checkbox" />
....

<script type="text/javascript">
.on('finished', function(e) {
    var form_data = {
        Tuesday: $('#Tuesday').val(),
        ajax: '1'
    };

    $.ajax({
        url: "<?php echo site_url('opportunity/create_opportunity'); ?>",
        type: 'POST',
        data: form_data,
        dataType: 'json',
        cache: false
    });
})
</script>

感谢您提供的帮助。

在您的AJAX中,您使用的是$'teday'.val,它将在HTML中查找value属性。因为value属性为空,所以它可能发送的是空的

解决方案是使用$'Tuesday'。is':checked'返回布尔值


在PHP中,只需使用if$checked==TRUE

看起来您只是在检查值,实际上我会检查是否使用jquery检查它,并发送该值。因此,与此相反:

.on('finished', function(e) {
var form_data = {
    Tuesday: $('#Tuesday').val(),
    ajax: '1'
};
我会这样做:

.on('finished', function(e) {
var form_data = {
    Tuesday: $('#Tuesday').prop('checked') // this should send a true or false value
    ajax: '1'
};

请检查var_dump$并显示输出。感谢您的快速响应。在我的控制器中更新AJAX和if语句后,它的计算结果始终为true。能否添加var_dump$checked并显示准确的输出?看起来我们缺少了一些琐碎的东西。出于某种原因,var_dump在我的日志文件中返回null。但是,如果$checked=='true',我就能够让它工作。看起来我的变量类型是string?var_dump$checked的结果是string4。似乎任何字符串都被认为是真的。即使您使用==来确保非严格模式这是对你问题的详细解释和解决办法。老实说,我不知道这件事。虽然我已经处理了数百个这样的表单,但我想知道为什么我从来没有遇到过它。我使用$'teday'.prop'checked'得到了与上面描述的相同的结果
.on('finished', function(e) {
var form_data = {
    Tuesday: $('#Tuesday').prop('checked') // this should send a true or false value
    ajax: '1'
};