我是jquery和ajax的新手,我在这方面遇到了麻烦...
我有一个php网页,它使用mysql表中的值构建一个表。行是“消息”,行的最后一个字段是布尔字段“read”,表示消息是否已被读取。
构建表格时,我将布尔值转换为“已选中”或“未选中”的复选框,值为1或0。
我想要做的是使用jquery将此复选框连接到ajax事件,如果复选框状态发生更改(如果已单击),则会发送两个值(首次加载表时复选框的状态,和消息id)到另一个php文件。
在这个其他的php文件中,我会在mysql表上更新该特定消息的“read”状态。
你能告诉我如何做到这一点吗?我可以处理的php部分,但我不知道构建jquery / ajax函数以及如何在复选框的html部分调用它们...
由于
答案 0 :(得分:1)
以下代码将向id为#checkboxId的复选框添加一个事件处理程序。处理程序将调用test.php?checked = 0或checked = 1,具体取决于当前复选框状态(未选中/已选中)
编辑:这里有一个完整的客户端示例。从php,你必须回复消息ID作为复选框值。然后将其作为param msgId返回给服务器。现在支持带有类过滤的多个复选框。当然,您可以更改类和参数名称。
<html>
<head>
<title>Checkbox test</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
</head>
<body>
<input type="checkbox" class="messageActivated" value="msg0">
<input type="checkbox" class="messageActivated" value="msg1">
<input type="checkbox" class="messageActivated" value="msg2">
</body>
<script type="text/javascript">
$(".messageActivated").bind('click', function() {
if($(this).attr('checked'))
{
$.get("store.php", { checked: 1, msgId: $(this).attr('value') } );
}
else
{
$.get("store.php", { checked: 0, msgId: $(this).attr('value') } );
}
});
</script>
</html>