Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php javascript下拉列表未及时加载_Php_Javascript_Wordpress_Wordpress Theming - Fatal编程技术网

Php javascript下拉列表未及时加载

Php javascript下拉列表未及时加载,php,javascript,wordpress,wordpress-theming,Php,Javascript,Wordpress,Wordpress Theming,我的问题是,我正在尝试创建一个javascript菜单,但脚本似乎加载非常慢和晚,所以它在第一秒钟无法工作。如果我错了,请纠正我。 第二,我无法使每一个专栏都很好地工作,有时它只是链接到同一个页面,无论我选择哪一个选项,也会链接到另一个对我的选择没有反应的问题,就像我没有做任何事情,即使我真的从菜单中选择了什么 你知道有什么问题吗?使用JavaScript做这件事是个坏主意吗?你会用PHP吗?我还觉得代码可能太长了 这就是我的问题的例子- 在这种情况下,

我的问题是,我正在尝试创建一个javascript菜单,但脚本似乎加载非常慢和晚,所以它在第一秒钟无法工作。如果我错了,请纠正我。 第二,我无法使每一个专栏都很好地工作,有时它只是链接到同一个页面,无论我选择哪一个选项,也会链接到另一个对我的选择没有反应的问题,就像我没有做任何事情,即使我真的从菜单中选择了什么

你知道有什么问题吗?使用JavaScript做这件事是个坏主意吗?你会用PHP吗?我还觉得代码可能太长了

这就是我的问题的例子-



在这种情况下,我绝对建议事先通过PHP创建HTML输出。这样,当页面加载后,可以触发菜单脚本

WordPress的参考资料中提供的示例有一个很酷的示例,它应该可以帮助您实现这一目标。它所做的基本上是替换生成的HTML的某些部分。在您的情况下,这些替换将主要在生成的URL中。为清晰起见,此处复制了示例:

<li id="categories">
    <h2><?php _e('Posts by Category'); ?></h2>
    <form action="<?php bloginfo('url'); ?>/" method="get">
    <div>
    <?php
        $select = wp_dropdown_categories('show_option_none=Select category&show_count=1&orderby=name&echo=0');
        $select = preg_replace("#<select([^>]*)>#", "<select$1 onchange='return this.form.submit()'>", $select);
        echo $select;
    ?>
    <noscript><div><input type="submit" value="View" /></div></noscript>
    </div></form>
</li>
  • <li id="categories">
        <h2><?php _e('Posts by Category'); ?></h2>
        <form action="<?php bloginfo('url'); ?>/" method="get">
        <div>
        <?php
            $select = wp_dropdown_categories('show_option_none=Select category&show_count=1&orderby=name&echo=0');
            $select = preg_replace("#<select([^>]*)>#", "<select$1 onchange='return this.form.submit()'>", $select);
            echo $select;
        ?>
        <noscript><div><input type="submit" value="View" /></div></noscript>
        </div></form>
    </li>