0

我在网站上有一个 javascript 下拉列表,这是代码-

           <?php
                function get_request_uri_without_page() {
                    $pageURL = 'http';
                 if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
                 $pageURL .= "://";
                 if ($_SERVER["SERVER_PORT"] != "80") {
                  $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
                 } else {
                  $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
                 }
                    $request = explode('/page/',$pageURL);
                    $request = explode('?', $request[0]);
                    return $request[0];
                }
            ?>
            <form action="<?php echo get_request_uri_without_page(); ?>" method="get" id="catselect" class="form-archive-140">
                                        <!-- DROP DOWN HERE -->
                <?php global $jtCatId; $jtCatId = true; wp_dropdown_categories('show_count=1&hierarchical=1&child_of=140&class=selectmenu&id=cat&show_option_none=Please Choose...'); ?>
                <script type="text/javascript">
                   <!--
                    var dropdown = document.getElementById("cat");
                    function onCatChange() {
                        if ( dropdown.options[dropdown.selectedIndex].value > 0 ) {
                            location.href = "<?php echo get_request_uri_without_page(); ?>?cat="+dropdown.options[dropdown.selectedIndex].value;
                        }
                    }
                    dropdown.onchange = onCatChange;
                    -->
                </script>

此下拉列表的输出是按位置过滤的帖子列表,但是 URL 结构如下 -

thewebsite/themaincategory?cat=141

我想用类别名称替换最后的类别 ID,当我将 dropdown.selectedIndex 替换为“文本”时,下拉菜单不起作用,它不会给出错误,它只是什么都不做。

我是否需要在 htaccess 中进行重写,或者是他们让上述代码正常工作的一种方式。

如果这是一个愚蠢的问题,我想提前道歉,我是 javascript 新手,只是想找到自己的方式。

这是上述的一个工作示例-

http://www.theweddingdirectory.co.za/professional-wedding-photographers

4

1 回答 1

0

尝试这样的事情

  var cat= document.getElementById("cat");
  var text = cat.options[cat.selectedIndex].text;

编辑代码

        function onCatChange() {
             if ( dropdown.options[dropdown.selectedIndex].value > 0 ) {
                 location.href = "<?php echo get_request_uri_without_page(); ?>?cat="+dropdown.options[dropdown.selectedIndex].text.trim();
             }
         }
于 2013-11-05T08:59:09.490 回答