我仍然是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')">