下拉菜单不起作用

时间:2015-11-29 03:07:07

标签: php html

我的问题是,当我选择每月部分时,下一个下拉菜单不会出现。第一个下拉工作正常,但是当我选择第一个选项时,它不会显示任何内容。这是我的代码

   <td><h4 class="text-login">By Category &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp</h4></td>
<td>
<select name="selection">
		<option value="">--Select--</option>
		<option value="1" id="month" type="select" >Monthly</option>
		<option value="2" id="year" type="select" >Yearly</option>  
</select>
</td>
<?php 
if(isset($_POST['Submit']))
{
	if(isset($_POST['selection']) &&  $_POST['selection'] == '1')
	{
		echo '<td><h4 class="text-login">Please select month &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp</h4></td>';
		echo '<td>';
		echo '<select name="month">';
		echo '<option value="">--Select--</option>';
		echo '<option value= "January" name = "first" id="month1" type="select" >January</option>';
		echo '<option value="b2" id="month2" type="select" >February</option>'; 
		echo '<option value="b3" id="month3" type="select" >March</option>';
		echo '<option value="b4" id="month4" type="select" >April</option>';
		echo '<option value="b5" id="month5" type="select" >May</option>';
		echo '<option value="b6" id="month6" type="select" >June</option>';
		echo '<option value="b7" id="month7" type="select" >July</option>';
		echo '<option value="b8" id="month8" type="select" >August</option>';
		echo '<option value="b9" id="month9" type="select" >September</option>';
		echo '<option value="b10" id="month10" type="select" >October</option>';
		echo '<option value="b11" id="month11" type="select" >November</option>';
		echo '<option value="b12" id="month12" type="select" >December</option>';
		echo '</select>';
		
		echo '<tr>';
		echo '<td><h4 class="text-login">Lab &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp</h4></td>';
		echo '<td>';
		
		
			$sql = "SELECT location FROM item ";  
			$result = mysqli_query($conn,$sql);    
			$rownum = mysqli_num_rows($result);   
		
		echo '<select name="lab" >';
				echo '<option value="">--Select--</option>';
		  $i=0;
			  while ($row = mysqli_fetch_assoc($result))  
			  {  
		
				echo '<option value="" id="lab1" type="select"><?php echo $row["location"];?></option>';
									
		
			$i++;
			}	
		
		echo '</select>';
		echo '</td><tr><td align="right">';
		echo '</table></center>';
	}
	else
	{
		echo '<td><h4 class="text-login">Please select month/year &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp</h4></td>';
		echo '<td>';
		echo '<select name="" onchange = "">';
		echo '<option value="">--Select--</option>';
		echo '<option value="t8" id="year8" type="select" >2000</option>';
		echo '<option value="t9" id="year9" type="select" >2001</option>';
		echo '<option value="t10" id="year10" type="select" >2002</option>';
		echo '<option value="t11" id="year11" type="select" >2003</option>';
		echo '<option value="t12" id="year12" type="select" >2004</option>';
		echo '<option value="t12" id="year12" type="select" >2005</option>';
		echo '<option value="t12" id="year12" type="select" >2006</option>';
		echo '<option value="t12" id="year12" type="select" >2007</option>';
		echo '<option value="t12" id="year12" type="select" >2008</option>';
		echo '<option value="t12" id="year12" type="select" >2009</option>';
		echo '<option value="t12" id="year12" type="select" >2010</option>';
		echo '<option value="t12" id="year12" type="select" >2011</option>';
		echo '<option value="t12" id="year12" type="select" >2012</option>';
		echo '<option value="t12" id="year12" type="select" >2013</option>';
		echo '<option value="t12" id="year12" type="select" >2014</option>';
		echo '<option value="t12" id="year12" type="select" >2015</option>';
	
		echo '</select>';
		echo '</td><tr><td align="right">';
	}
}
?>
</tr>
</table></center>

2 个答案:

答案 0 :(得分:1)

删除idtype

<select name="selection">
<option value="">--Select--</option>
<option value="1">Monthly</option>
<option value="2" >Yearly</option>  
</select>

答案 1 :(得分:0)

一旦你选择了第一个下拉列表,你似乎想要第二个下拉列表 - 要获得它必须提交页面 - 最原始的方法是将它放到第一个下拉列表的onChange事件上。确保您有要提交的表单。

 <form name="form" id="form" action="your_sql_page.php" method="get">

        <select name="selection" onChange="submit();">
        <option value="">--Select--</option>
        <option value="1">Monthly</option>
        <option value="2">Yearly</option>  
        </select>
  </form>

How to submit form on change of dropdown list?

最好让JavaScript触发第二个下拉列表 - 除非您担心根据参考页面上的注释不依赖JavaScript。

如果您使用的是php,则需要将其提交给服务器 - 此参考说明了该过程:Don't know how to solve (Between Php and Javascript)

表单的操作可能是提交给自己 - 您需要在第二个下拉列表中添加onChange和submit()

     echo '<select name="yearly" onchange = "submit()">';

并添加会使页面以不同方式响应的代码,具体取决于已提交的内容 - 将其包装在if(isset(...

action="<?php echo %_SERVER["PHP_SELF"]; ?>"

根据@Rahautos,请删除idtype