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 に答える