如果复选框更改,请使用jquery来调用php - php

我在页面上有一个简单的复选框,允许用户说出是否要接收电子邮件通知。当复选框更改时,我正在为此使用jquery来调用一些php代码。但是,即使调用jquery函数(单击复选框也没有任何作用),我的运气并不好,更不用说测试后端功能了。

指出错误的任何帮助都将非常有用。谢谢。

复选框HTML:

<input id="notify_checkbox" type="checkbox" value="y" name="notify">

jQuery的:

$('#notify_checkbox').change(function(){

    if($('#notify_checkbox').attr('checked'))
    {
        $.post("/update_notify", { checked: "y", email: "<?php echo $this->session->userdata('email');?>" });
        $( "#notifyresult" ).html( "<p>Awesome, we'll send you an email!</p>" );
    }
    else
    {
        $.post("/update_notify", { checked: "n", email: "<?php echo $this->session->userdata('email');?>" });
        $( "#notifyresult" ).html( "<p>Okay, we won't email you.</p>" );
    }
});

最后是PHP:

function update_notify()
{
    // Passed through AJAX
    $notify = $_POST[checked];
    $email = $_POST[email];

    $this->load->model('musers');
    $query = $this->musers->update_user_notify($email, $notify);
}

解决方案:以下评论很有帮助,但不是最终解决方案。解决的办法是在我的代码周围添加以下内容。

$(document).ready(function() {
{);

参考方案

为什么不使用.click()代替呢?

JSFIDDLE

另外,如您在我的JSFiddle示例中所见,请使用.is(':checked')而不是attr('checked')

在@Rocket评论您的帖子后进行编辑:

您确实应该在您的php中引用您的$_POST值!我自己没注意到,感谢rocket

PHP:将数组值加在一起 - php

我相信这比标题听起来要难一些,但我可能完全错了。我有一个像这样的数组:[["londrina",15],["cascavel",34],["londrina",23],['tiradentes',34],['tiradentes',21]] 我希望能够采用通用…

PHP JQuery复选框 - php

我有以下片段。 var myData = { video: $("input[name='video[]']:checked").serialize(), sinopse: $("#sinopse").val(), dia: $("#dia").val(), quem: $(&#…

PHP-复选框组 - php

我有一个需要发布的表单复选框组。<input type="checkbox" value="true" checked name="chk0[]"> <input type="checkbox" value="false" name=…

转义字符无法正常工作 - php

我试图在PHP中创建html内容,并且为onclick事件提供了一个名为uchat的div函数。该函数采用一个字符串的名称参数。如下所示:$name = "Php string"; $echostr .= "<div onClick='uchat(\'$name\')'> &l…

php Singleton类实例将在多个会话中保留吗? - php

举一个简单的例子,如果我想计算一个不使用磁盘存储的脚本的命中次数,我可以使用静态类成员来执行此操作吗?用户1:<?php $test = Example::singleton(); $test->visits++; ?> 用户2:<?php $test = Example::singleton(); $test->visits+…