javascript函数中的Php?
我的“用户收件箱”中有一项功能,允许用户在收件箱中选中/取消选中他们想收藏的邮件 我目前正在测试当用户选中复选框时会发生什么(单击图像并使其从灰色变为彩色,表示复选框已选中) 不管怎样,当复选框被选中时,您可以从下面的代码中看到,这个url应该被加载: 假设将用户选中该框的行的消息_id添加到url的末尾,然后加载我的控制器“messages”和方法“favorite_checked”,该方法随后传递一个从url获取消息_id的变量,将其存储在一个变量中,然后将其发送到my模型,并在mysql查询中使用 基本上,我更新了messages表的favorites列,并将其设置为=1,其中message_id from url与数据库messages表中的匹配。是的,在找到匹配项的地方,该行中的“收藏夹”列更新为1。1=最喜欢的0=不喜欢 我只是想把发生的事情说清楚 我的问题是,当我选中该复选框时,什么都没有发生,所以我觉得我在尝试将id添加到javascript函数中的url时一定是做错了什么 我也试过$(post)。。然后什么也没发生 也许有人能发现,因为我真的不知道问题出在哪里javascript函数中的Php?,php,jquery,mysql,templates,variable-assignment,Php,Jquery,Mysql,Templates,Variable Assignment,我的“用户收件箱”中有一项功能,允许用户在收件箱中选中/取消选中他们想收藏的邮件 我目前正在测试当用户选中复选框时会发生什么(单击图像并使其从灰色变为彩色,表示复选框已选中) 不管怎样,当复选框被选中时,您可以从下面的代码中看到,这个url应该被加载: 假设将用户选中该框的行的消息_id添加到url的末尾,然后加载我的控制器“messages”和方法“favorite_checked”,该方法随后传递一个从url获取消息_id的变量,将其存储在一个变量中,然后将其发送到my模型,并在mysql查
<script type="text/javascript">
// favourite check box
$('input.favourite:checkbox').simpleImageCheck({
image: '<?php echo base_url()?>images/messages/check.png',
imageChecked: '<?php echo base_url()?>images/messages/unchecked.png',
afterCheck: function(isChecked) {
if (isChecked) {
//query to db from php to update favourite number to 1
$.get('http://mysite.com/messages/favourite_checked'+'<?php foreach ($query as $row): ?><?php $row['id']; ?><?php endforeach; ?>');
}
// else (!isChecked)
// {
// //query to db from php to update favourite number to 0
// $.get('http://mysite.com/messages/favourite_unchecked');
// }
}
});
</script>
//收藏夹复选框
$('input.favorite:checkbox')。SimpleImage检查({
图片:'images/messages/check.png',
imageChecked:'images/messages/unchecked.png',
后检查:功能(已检查){
如果(已检查){
//从php查询db以将收藏夹编号更新为1
$.get('http://mysite.com/messages/favourite_checked'+'');
}
//否则(!已检查)
// {
////从php查询db以将收藏夹编号更新为0
//$.get('http://mysite.com/messages/favourite_unchecked');
// }
}
});
关于PHP:
我想你要替换这个:
<?php $row['id']; ?> // does nothing
//什么也不做
为此:
<?php echo $row['id']; ?> // echo's the id
//echo是id
虽然我不确定这是否会起作用,因为你在那里的循环将生成一个奇怪的url,只需添加所有id
关于javascript:
我不熟悉您正在调用的
simplemagecheck()
函数,但它是否有onClick
或onChange
事件处理程序?否则,我根本看不到您的代码正在运行。关于PHP:
我想你要替换这个:
<?php $row['id']; ?> // does nothing
//什么也不做
为此:
<?php echo $row['id']; ?> // echo's the id
//echo是id
虽然我不确定这是否会起作用,因为你在那里的循环将生成一个奇怪的url,只需添加所有id
关于javascript:
我不熟悉您正在调用的
simplemagecheck()
函数,但它是否有onClick
或onChange
事件处理程序?否则,我根本看不到您的代码正在运行。我认为您的基本问题是对PHP与javascript运行时间的混淆
您放在页面上的PHP是服务器端的,它将首先加载,然后javascript将在客户端运行
本部分如下:
$.get('http://mysite.com/messages/favourite_checked'+'<?php foreach ($query as $row): ?><?php $row['id']; ?><?php endforeach; ?>');
$.get('http://mysite.com/messages/favourite_checked'+'');
看起来您希望根据所检查的内容使其成为动态的,但我看不出该url将如何具体显示您要查找的内容。我认为您的基本问题是对PHP运行时间与javascript的混淆 您放在页面上的PHP是服务器端的,它将首先加载,然后javascript将在客户端运行 本部分如下:
$.get('http://mysite.com/messages/favourite_checked'+'<?php foreach ($query as $row): ?><?php $row['id']; ?><?php endforeach; ?>');
$.get('http://mysite.com/messages/favourite_checked'+'');
似乎您希望根据您选中的内容将其动态显示,但我不知道该url将如何具体显示您要查找的内容。通过PHP解析JS后,JS是什么样子的?不确定您的意思,但当我选中该框时,实际上什么都没有发生。
simplemageCheck()
,它是来自一个插件还是你在其他地方定义的东西?这里是我得到插件的地方:我删除了一个弹出的代码,在复选框被选中后会弹出,这是我放置插件的地方url@Psychonetics-我相信他的意思是你应该运行页面,然后去查看页面来源。然后您将看到PHP解析后java脚本的样子。PHP解析后JS是什么样子的?不确定您的意思,但当我选中该框时,实际上什么都没有发生。什么是simplemagecheck()
,它是来自一个插件还是你在其他地方定义的东西?这里是我得到插件的地方:我删除了一个弹出的代码,在复选框被选中后会弹出,这是我放置插件的地方url@Psychonetics-我相信他的意思是你应该运行页面,然后去查看页面来源。然后,您将看到PHP解析后java脚本的样子。