我的问题是,当我选择每月部分时,下一个下拉菜单不会出现。第一个下拉工作正常,但是当我选择第一个选项时,它不会显示任何内容。这是我的代码
<td><h4 class="text-login">By Category           </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           </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           </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           </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>
答案 0 :(得分:1)
删除id
或type
<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,请删除id
和type
。