Javascript 我想更改下拉列表。selectedIndex为";“文本”;而不是现在的情况;“价值”;
我在网站上有一个javascript下拉列表,下面是代码-Javascript 我想更改下拉列表。selectedIndex为";“文本”;而不是现在的情况;“价值”;,javascript,php,drop-down-menu,selectedindex,Javascript,Php,Drop Down Menu,Selectedindex,我在网站上有一个javascript下拉列表,下面是代码- <?php function get_request_uri_without_page() { $pageURL = 'http'; if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";} $pageURL .= "://";
<?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>
试试这样的
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();
}
}
函数onCatChange(){
if(dropdown.options[dropdown.selectedIndex].value>0){
location.href=“?cat=“+dropdown.options[dropdown.selectedIndex].text.trim();
}
}
.text将起作用,但由于您的条件(如果您使用文本而不是值)下拉列表。选项[dropdown.selectedIndex]。text>0它似乎不起作用,因为它不满足条件我应该使用什么条件?因为您将得到的文本将是字符串,因此您不能使用>0。谢谢您的帮助,我知道问题是什么,但我无法修复我感谢你的建议,请你告诉我如何使用原始代码应用此更改。此解决方案很好,谢谢。但是,因为我使用的是innerhtml,所以它将位置放在前面,例如专业婚礼摄像师?cat=约翰内斯堡。您是否有任何想法来删除此更改,将innerHTML改为文本,而不是将其放入实际空间。这似乎是因为下拉列表的层次结构造成的谢谢你这么做了我感谢你的帮助