带有jQuery脚本的挂钩在wp-admin中不起作用

时间:2013-08-06 作者:mahish

这是我使用的钩子和脚本,正如您所看到的,jquery脚本本身正在工作in this fiddle:

function my_custom_admin_footer(){

        echo \'      
            <script type="text/javascript">

                jQuery(document).ready(function($) {
                    $(".checkIt").change(function (e) {
                        if ($("input:checkbox:checked").length > 1) {

                            alert("Only one attribute is allowed.");
                            $(e.target).prop(\'checked\', false);
                        }
                    });
                });
            </script>
        \'; 
}

add_action(\'admin_footer\', \'my_custom_admin_footer\');
在wp admin中,我只能看到空白页,

问题肯定出在jquery中,因为简单的警报脚本确实有效:

jQuery(document).ready(function(){
    alert("Hello"); 
});
我不明白。虽然,我对jquery和php都不专业,所以我可能遗漏了一些东西。谢谢你的帮助

2 个回复
最合适的回答,由SO网友:kel 整理而成

空白页是PHP致命错误。您需要转义单引号或将其更改为双引号。

$(e.target).prop(\'checked\', false); -> $(e.target).prop("checked", false);

通过在WP config中将WP\\u DEBUG设置为true,可以在WordPress中启用调试以查看PHP错误。php文件。您还可以查看服务器/PHP错误日志。日志的位置取决于您的服务器设置。

SO网友:Milo

浏览器的错误控制台可能会提示您出了什么问题。

改变

jQuery(document).ready(function() {

jQuery(document).ready(function($) {
jQuery处于无冲突模式,因此$ 不包含jQuery对象。您正确使用jQuery 对于ready函数,但您必须通过$ 如果要使用$ 在内部

参考号:wp_enqueue_script: jQuery noConflict Wrappers

结束