我在网站上有一个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结构如下-
网站/主题?cat=141
我想用类别名称替换结尾的类别id,当我将dropdown.selectedIndex替换为"text"时,下拉列表不起作用,它不会出错,只是什么都没做。
我需要在htaccess中重写吗?或者这是他们让上述代码工作的一种方法。
如果这是一个愚蠢的问题,我想提前道歉,我是javascript的新手,只是想找到自己的路。
以下是上述的一个工作示例
http://www.theweddingdirectory.co.za/professional-wedding-photographers
尝试类似的东西
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();
}
}