2011-05-08 113 views
0

我仍然是PHP的初学者。我遇到了下拉式问题和链接问题。我希望能够在下拉菜单中选择一个选项并转到指定页面。出于某种原因,只有第二个下拉菜单的链接。 (MUNICIPALITIES)将通过链接到特定的市政页面正确工作。犯罪下拉菜单不会链接到特定的犯罪页面。我已经列入了犯罪下降和市镇下降的代码。我还包括下面的脚本。如何使2下拉菜单链接到PHP/HTML中的其他页面?

最终我的问题是为什么不能正常使用链接下拉功能?

<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> 
+0

您打给gopage的电话在第一种情况下是不正确的,它应该是gopage(this)不是gopage(theLink) – boug 2011-05-08 19:46:31

+0

现在想起它我认为你有这个问题的原因是因为两个下拉列表都有相同的名称(theLink),这会混淆javascript它不知道哪个下拉影响。尝试给两个下拉不同的名字 – boug 2011-05-08 20:07:28

回答

1

我想一个更好的解决办法是通过选择元素的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')"> 
相关问题