Javascript 如何使用Ajax向MySQL数据库添加复选框信息?

Javascript 如何使用Ajax向MySQL数据库添加复选框信息?,javascript,jquery,mysql,ajax,checkbox,Javascript,Jquery,Mysql,Ajax,Checkbox,我有一个通过MySql通过Ajax/Json填充的简单列表。列表只是一个标题和说明,每个条目都有一个复选框。我需要单击复选框,将其推送到已单击的数据库。你会怎么做呢 [顺便说一句。。。 现在,由于我的SQL数据上有一个setTimeInterval,可以动态交付列表,它会自动重置我的复选框。我假设,如果我记录下我的复选框已通过SQL中的布尔值设置,那么有一种方法可以保持选中状态…] 我对这一点还不熟悉,我只是在四处玩玩,试图学习,所以这些信息完全是理论性的。您可以使用on()函数来收听复选框的单

我有一个通过
MySql
通过
Ajax/Json
填充的简单列表。列表只是一个标题和说明,每个条目都有一个
复选框。我需要单击
复选框
,将其推送到已单击的数据库。你会怎么做呢

[顺便说一句。。。 现在,由于我的SQL数据上有一个
setTimeInterval
,可以动态交付列表,它会自动重置我的复选框。我假设,如果我记录下我的
复选框已通过SQL中的布尔值设置,那么有一种方法可以保持选中状态…]

我对这一点还不熟悉,我只是在四处玩玩,试图学习,所以这些信息完全是理论性的。

您可以使用on()函数来收听复选框的单击

$(function() {
    $(document.body).on('click', 'input.mycheckbox', function() {
        var checkbox = $(this);
        var checked = checkbox.attr('checked');
        $.ajax('service.url', {
            type: 'post',
            data: {action: 'checkbox-select', id: checkbox.attr('id'), checked: checked},
            success: function(data) {
                alert(data);
            },
            error: function(data) {
                alert(data);
                // Revert
                checkbox.attr('checked', !checked);
            }
        });
    }
});
请随时询问您是否需要任何澄清,或者这是否不适合您的情况

编辑:

AJAX函数的
data
参数是一个将发布到PHP页面的对象。当PHP代码运行时,
$\u POST
将是一个包含我们传递的值的数组。因此,
$\u POST['action']
将是“复选框选择”,
$\u POST['id']
将获得id,
$\u POST['checked']
将根据复选框是选中还是取消选中而为真或假。在Javascript中获取ID的方法可能会改变;我只是把
checkbox.attr('id')
放在这里给你一个想法

学习PHP时,在客户端转储来自服务器的响应会很有帮助。PHP代码示例:

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

我编辑了JS以显示服务器的结果。

您应该提供您正在使用的代码和表结构。service.url???但我有一个到php变量中存储的db的连接。我可以使用它吗?@sunhyrthms“service.url”是PHP页面url的占位符。将其替换为您的页面URL,您的PHP页面应该能够从$\u POST数组中读取数据。@SunRhythms查看我更新的响应。如果您仍然有困难,您可能希望在线查找教程。我如何向您展示我的代码?除了ajax部分,我什么都懂。。。我看不到“type”:“POST”或$.POST问题是复选框的Id、名称和属性都来自while循环。用户将标题和描述的信息放置在表单中。我写它是为了附加复选框标签标题的名称。该列表填充标题中的数据。你可以在这里看到。