如何使 2 个下拉列表与指向 PHP/HTML 中其他页面的链接一起使用


How to make 2 drop downs work with links to other pages in PHP/HTML?

我仍然是PHP的初学者。我在下拉菜单和链接方面遇到问题。我希望能够在下拉菜单中选择一个选项,然后转到指定的页面。出于某种原因,只有第二个下拉菜单的链接。(市政当局)将通过链接到特定市政当局页面来正常工作。犯罪下拉菜单不会链接到特定的犯罪页面。我已经包含了犯罪下拉列表和市政下拉列表的代码。我还在下面包含了脚本。

最终我的问题是为什么两个下拉菜单都不能通过链接正常运行?

<script language="JavaScript" type="text/javascript">
    function gopage(theLink) {
        if (document.dropdown.theLink.value != "") {
            location.href = document.dropdown.theLink.value;
        }
    }
</script>
<form name="dropdown">
    <select name="theLink" onchange="gopage(theLink)">
        <option value="ALL">Choose Crime associated with the Gang</option>
        <?php
        //echo 'NOWWWWWWWWWWWWWWWWWWWWWW';
        if ($length3 <> 0) {
            for ($m = 0; $m < $length3; $m++) {
                $rows = $resultset3[$m][crime_name];
                $trackchoices = $rows;
                $options2 = "<option value='"crimesmain.php?crime=$trackchoices'">$trackchoices</option>";
                echo "$options2";
            }
        }
        else if ($length3 == 0) {
            $trackanswer = "NO CRIMES";
            $options5 = "<option value='"$trackanswer'">$trackanswer</option>";
            echo "$options5";
        }
        ?>
    </select>
</form>
<br>
<br>
<form name="dropdown">
    <select name="theLink" onchange="gopage(this)"> 
        <option value="ALL">Choose Municipality associated with the Gang</option>
        <?php
        if ($length12 <> 0) {
            for ($q = 0; $q < $length12; $q++) {
                $rows2 = $resultset6[$q][municipality_name];
                $trackchoices2 = $rows2;
                //try
                $options3 = "<option value='"municipalitymain.php?mun=$trackchoices2'">$trackchoices2</option>";
                //echo "<a href='municipalitymain.php?mun=$options3'>";
                echo "$options3";
            }
        }
        else if ($length12 == 0) {
            $trackanswer = "NO MUNICIPALITY";
            $options6 = "<option value='"$trackanswer'">$trackanswer</option>";
            echo "$options6";
        }
        ?>
    </select>
</form>

我认为更好的解决方案是将选择元素的 id 传递给 gopage,这样你的函数看起来像这样

function gopage(elId)
{
   if (document.getElementById(elId).value != "") {
        location.href = document.getElementById(elId).value;
    }
}

第一个下拉列表

<select name="theLink" id="crime" onchange="gopage('crime')">

第二个下拉列表

<select name="theLink2" id="muni" onchange="gopage('muni')">