Попытка исправить раскрытие нескольких категорий

У меня возникли проблемы с попыткой исправить мою категорию на веб-сайте, который я разрабатываю. В принципе, у одного раскрывающегося фильтра есть «Сортировать по местоположению», а второй – «Сортировать по цене». Первый работает правильно, что «Сортировать по местоположению», а второй – нет. Он загружает все сообщения и не фильтрует их правильно.

Ссылка здесь –

http://digitalspin.ph/federalland/?page_id=23

Вот мой код

HTML-

<div class="filter_container"> <?php wp_dropdown_categories( $args_cat1 ); ?> </div> <div class="filter_container"> <?php wp_dropdown_categories( $args_cat2 ); ?> </div> 

JS-

 <!--DROPDOWN SORT CATEGORY 1 --> <script type="text/javascript"> var dropdown = document.getElementById("cat1"); function onCatChange() { if ( dropdown.options[dropdown.selectedIndex].value > 0 ) { location.href = "<?php echo get_option('home'); ?>/?cat="+dropdown.options[dropdown.selectedIndex].value; } } dropdown.onchange = onCatChange; </script> <!--DROPDOWN SORT CATEGORY 2--> <script type="text/javascript"> var dropdown = document.getElementById("cat2"); function onCatChange() { if ( dropdown.options[dropdown.selectedIndex].value > 0 ) { location.href = "<?php echo get_option('home'); ?>/?cat="+dropdown.options[dropdown.selectedIndex].value; } } dropdown.onchange = onCatChange; </script> 

functions.php

 //LOCATION FILTER $args_cat2 = array( 'show_option_all' => '', 'show_option_none' => '', 'orderby' => 'ID', 'order' => 'ASC', 'show_count' => 0, 'hide_empty' => 1, 'child_of' => 0, 'exclude' => '1,2,3,4,32,33,34,35,36,37', 'echo' => 1, 'selected' => 0, 'hierarchical' => 0, 'name' => 'cat2', 'id' => 'cat2', 'class' => 'postform', 'depth' => 0, 'tab_index' => 0, 'taxonomy' => 'category', 'hide_if_empty' => false, 'walker' => '' ); //PRICE FILTER $args_cat1 = array( 'show_option_all' => '', 'show_option_none' => '', 'orderby' => 'ID', 'order' => 'ASC', 'show_count' => 0, 'hide_empty' => 1, 'child_of' => 0, 'exclude' => '1,2,3,4,23,24,25,26,27,28,29,30,31', 'echo' => 1, 'selected' => 0, 'hierarchical' => 0, 'name' => 'cat1', 'id' => 'cat1', 'class' => 'postform', 'depth' => 0, 'tab_index' => 0, 'taxonomy' => 'category', 'hide_if_empty' => false, 'walker' => '' ); 

Вот ошибка javascript из firebug-

 TypeError: dropdown is null dropdown.onchange = onCatChange; 

Всякий раз, когда я выбираю категорию в «Сортировать по цене», он отображает все сообщения из «Сортировать по местоположению», который является категорией ID 23

—- ОБНОВЛЕНО КОДЕКС —-

 <!--DROPDOWN SORT CATEGORY 1 --> <script type="text/javascript"> var dropdown_price = document.getElementById("cat1"); function onCatChange() { if ( dropdown_price.options[dropdown_price.selectedIndex].value > 0 ) { location.href = "<?php echo get_option('home'); ?>/?cat="+dropdown_price.options[dropdown_price.selectedIndex].value; } } dropdown_price.onchange = onCatChange; </script> <!--DROPDOWN SORT CATEGORY 2--> <script type="text/javascript"> var dropdown_location = document.getElementById("cat2"); function onCatChange() { if ( dropdown_location.options[dropdown_location.selectedIndex].value > 0 ) { location.href = "<?php echo get_option('home'); ?>/?cat="+dropdown_location.options[dropdown_location.selectedIndex].value; } } dropdown_location.onchange = onCatChange; </script> 

HTML кажется правильным, поскольку в раскрывающемся списке Price находится правильный идентификатор кота.

Я предполагаю, что это проблема JS, я предполагаю, что вы не должны использовать одно и то же имя переменной в обоих сценариях.

Замените раскрывающееся меню dropdown_price для второго, например:

 <!--DROPDOWN SORT CATEGORY 2--> <script type="text/javascript"> var dropdown_price = document.getElementById("cat2"); function onCatPriceChange() { if ( dropdown_price.options[dropdown_price.selectedIndex].value > 0 ) { location.href = "<?php echo get_option('home'); ?>/?cat="+dropdown_price.options[dropdown_price.selectedIndex].value; } } dropdown_price.onchange = onCatPriceChange; 

Дайте нам знать !