php - 如何使用ajax和php在没有表单的情况下使用复选框将数据插入数据库

标签 php jquery ajax codeigniter

我有一个复选框,选中它时我想将复选框的值输入数据库。请帮我找到为此的 Ajax 和 php 代码。 我试过这个

    $(document).on('click', "input[type='checkbox']", function() {
    var checkbox = $(this);
    var checked = checkbox.attr('checked');
    $.ajax({
        url:"<?php echo base_url("contact-details-availability"); ?>",
        type: 'post',
        data: {
            action: 'checkbox-select', 
            id: checkbox.attr('contact_avl'), 
            checked: checked
              },
        success: function(data) {
            //alert(data);
        },
        error: function(data) {
           // alert(data);
            // Revert
            checkbox.attr('checked', !checked);
        }
    });
});

public function add_contact_details_availability()
{
    if($_POST['action'] == 'checkbox-select') {
         $checkbox = $_POST['id'];
         $checked = $_POST['checked'];
        // Your MySQL code here
        echo 'Updated';
    }
           echo 'Code ran';
}

但是这行不通

最佳答案

这是工作中的 JQuery

<script>
        $(document).on("change", "input[name='chk']", function () {
            var checkbox = $(this);
            var checked = checkbox.prop('checked');
            $.ajax({
                url:"<?php echo base_url("contact-details-availability"); ?>",
                type: 'post',
                data: {
                    action: 'checkbox-select', 
                    id: checkbox.data('contact_avl'), 
                    checked: checked
                      },
                success: function(data) {
                    //alert(data);
                },
                error: function(data) {
                   // alert(data);
                    // Revert
                    checkbox.attr('checked', !checked);
                }
            });
        });
    </script>

HTML

<input type="checkbox" name="chk" id="chk" data-contact_avl="val" value="1">check

我说它工作是因为所有三个值都通过了。 修复的更改是:

1]将varchecked=checkbox.attr('checked');更改为varchecked=checkbox.prop('checked');

2]将id:checkbox.attr('contact_avl')更改为id:checkbox.data('contact_avl')

3]将onclick更改为onchange

关于php - 如何使用ajax和php在没有表单的情况下使用复选框将数据插入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32983897/

相关文章:

php - 使用 PHP Excel 转换 Excel 日期

php - 我如何忽略 phpDocumentor 中的特定文件

javascript - jQuery:检测 X 部分后未加载的 iFrame

Jquery 一张一张地淡入图像,反向

php - 重复 mysql 获取导致 php 资源使用率较高

php - 根据内容调整 div 的高度

php - 在 Joomla 中添加属性以选择选项

javascript - 无论如何检查元素是否溢出?

asp.net - 长时间运行的服务器进程在客户端更新标签。 AJAX ASP.Net

javascript - Spring-Boot Controller 无法识别来自 ajax 的数据