2011-01-18 84 views
0

我的用户收件箱中有一项功能,允许用户选中/取消选中他们希望收藏的收件箱中的邮件。Php里面的JavaScript函数?

我目前正在测试当用户选中该框(点击图像并导致它从灰色变为颜色意味着该框被选中)时发生的情况。

反正你可以从代码中看到下面当箱器isChecked这个网址是假设要加载:http://mysite.com/messages/favourite_checked

用户已经检查了盒子上想添加到年底该行的MESSAGE_ID然后加载我的控制器“消息”和方法“favourite_checked”,然后传递一个变量,从url中获取message_id,将其存储在一个变量中,然后将其发送给我的模型,并将其用于mysql查询。

基本上我更新了我的消息表的收藏夹列,并将其设置为= 1,其中来自url的message_id与我的数据库中的消息表中的消息匹配。所以,当发现匹配时,该行中的“最喜爱的”列被更新为1. 1 =最喜欢的0 =不是最喜欢的。

任何我只是想我会说清楚发生了什么事..

我的问题是没有任何反应,当我选中该复选框,没有被更新,所以我觉得我必须做一些错误的,我尝试添加该id在JavaScript函数中的url。

我试过$(后)..也没有任何反应。

也许有人可以发现它,因为我真的不知道问题是什么。

<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> 
+2

JS在PHP解析后看起来像什么? – scragz 2011-01-18 21:26:04

+0

不确定你的意思,但是当我检查框时没有发生实际情况。 – LondonGuy 2011-01-18 21:38:30

回答

5

我认为你的基本问题是关于何时PHP运行vs javascript的一些混淆。

你放在页面上的PHP是服务器端,它将首先加载,然后JavaScript将运行客户端。

这这儿的一部分:

$.get('http://mysite.com/messages/favourite_checked'+'<?php foreach ($query as $row): ?><?php $row['id']; ?><?php endforeach; ?>'); 

好像你是想根据你检查一下这个是动态的,但我没有看到的网址是怎么回事具体告诉你在找什么。

1

关于PHP:

我想你想替换此:

<?php $row['id']; ?> // does nothing 

与此:

<?php echo $row['id']; ?> // echo's the id 

虽然我可不是确保所将工作,因为你有在那里的循环会产生一个奇怪的网址,只是添加所有ID的...

关于JavaScript的:

我可不是熟悉simpleImageCheck()功能您呼叫,但它有一个onClickonChange事件处理程序?否则,我根本看不到您的代码正在运行。