首页 > 解决方案 > PHP函数中的Jquery - 数字格式

问题描述

我正在尝试在 wordpress 的 PHP 函数中运行 javascript/jquery 代码。其实我在这个链接找到了这段代码:http: //jsfiddle.net/fXrv2/

如您所见,它运行良好。但是我的最终代码中似乎缺少一些东西,因为文本字段无法自动完成数字格式。

知道为什么它不起作用吗?

    <?php

    function teste() {
        ?>

        <script type="text/javascript">
            $('input.number').keyup(function(event) {

                // skip for arrow keys
                if(event.which >= 37 && event.which <= 40){
                    event.preventDefault();
                }

                $(this).val(function(index, value) {
                    return value
                        .replace(/\D/g, "")
                        .replace(/([0-9])([0-9]{2})$/, '$1.$2')
                        .replace(/\B(?=(\d{3})+(?!\d)\.?)/g, ",")
                        ;
                });
            });
        </script>

        <input type="text" class="number">

        <?php
    }

标签: javascriptphpjqueryhtmlwordpress

解决方案


由于该 JS 都是客户端,因此您将获得更一致的结果,包括该脚本与您的 PHP 完全分离。如果您的主题已经有一个 JavaScript 文件,您可以将其添加到这很好,或者您可以将其添加到单独的 .js 文件并使用wp_enqueue_scripts()将该文件排入队列。

无论您选择哪种方式,您都希望在 document.ready() 或窗口加载时调用它(请参阅 jQuery 文档),以确保您尝试选择的输入元素可供 JS 查找。在您链接到它的 JS fiddle 中,它设置为使用 JS onLoad,这可能与您当前的内联脚本有很大的不同。


推荐阅读