我通过MySql
通过Ajax / Json
填充了一个简单的列表。该列表只是标题和说明,每个条目都有一个checkbox
。单击后,我需要checkbox
来推送到单击它的数据库。你会怎么做呢?
[顺便说一句...
现在,因为我的SQL数据有setTimeInterval
来动态传递列表,它会自动重置我的复选框。我假设如果我记录我的checkbox
已经通过SQL中的boolean设置,那么可以有一种方法来检查它......]
我是新手,我只是在玩耍并试图学习,所以这些信息完全是理论上的。
答案 0 :(得分:0)
您可以使用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代码运行时,$_POST
将是一个包含我们传递的值的数组。因此,$_POST['action']
将为'复选框选择',$_POST['id']
将获取ID,$_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以显示服务器的结果。