我在网站上有一个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?猫= 141
我想用类别名称替换最后的类别id,当我将dropdown.selectedIndex替换为“text”时,下拉列表不起作用,它不会给出错误它只是没有做任何事情。
我是否需要在htaccess中进行重写,或者是否可以使上述代码正常工作。
如果这是一个愚蠢的问题,我想提前道歉,我是javascript的新手,只是想找到自己的方式。
这是上面提到的一个工作示例 -
http://www.theweddingdirectory.co.za/professional-wedding-photographers
答案 0 :(得分: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();
}
}