复选框状态更改时如何更新mysql字段?使用 jquery (ajax)、php 和 mysql
Posted
技术标签:
【中文标题】复选框状态更改时如何更新mysql字段?使用 jquery (ajax)、php 和 mysql【英文标题】:How to update a mysql field when a checkbox status changes? using jquery (ajax), php and mysql 【发布时间】:2011-01-23 00:05:31 【问题描述】:我是 jquery 和 ajax 的新手,我在做这件事时遇到了麻烦......
我有一个 php 网页,它使用 mysql 表中的值构建一个表。行是“消息”,行的最后一个字段是布尔字段“已读”,表示消息是否已被读取。
构建表格时,我将布尔值转换为要“选中”或“未选中”的复选框,值是 1 或 0。
我想要做的是将此复选框连接到一个ajax事件,使用jquery,如果复选框状态发生变化(如果它被点击),那么它会发送两个值(第一次加载表时复选框的状态,和消息 id) 到另一个 php 文件。
在这个其他 php 文件中,我将更新我的 mysql 表上该特定消息的“已读”状态。
你能告诉我如何做到这一点吗?我可以处理的 php 部分,但我不知道要构建哪些 jquery/ajax 函数以及如何在复选框的 html 部分调用它们...
谢谢
【问题讨论】:
【参考方案1】:以下代码将向 ID 为 #checkboxId 的复选框添加事件处理程序。处理程序将调用 test.php?checked=0 或 checked=1,具体取决于当前复选框状态(未选中/选中)
编辑:这里有一个完整的客户端示例。在 php 中,您必须将消息 ID 回显为复选框值。然后将其作为参数 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>
【讨论】:
谢谢亲信。只是一些疑问......使用该代码,我如何将 message_id 传递给 test.php 文件?还有其他疑问......如何在这个 html 部分调用该函数 ? 该函数被自动调用,因为通过使用 "$(".messageActivated").bind('click', ",您为每个复选框添加了一个事件处理程序。传递消息 ID 的问题有在当前版本中已解决...有人不喜欢我;((以上是关于复选框状态更改时如何更新mysql字段?使用 jquery (ajax)、php 和 mysql的主要内容,如果未能解决你的问题,请参考以下文章