我有一个下拉导航,用户点击按钮后会将用户带到下拉菜单中选择的页面。我有一个函数,它将页面部分标题作为参数,并在列表顶部使用该页面构建一个新的下拉列表,这样您导航到的每个页面都将在下拉列表中保持焦点。这个函数是一个庞大的开关案例,有很多重复的代码,我知道有一种更简单,更清晰的方法......我只是在思考解决方案时遇到了麻烦。这是一个代码片段,我不会发布整个开关案例:
function makeDropDown($page){
switch ($page){
case 'uploads':
echo '<center><form action="pictures.php" action="get">
<select name="pictype">
<option value="uploads">Uploads</option>
<option value="fromweb">From Web</option>
<option value="wallpapers">Wallpapers</option>
<option value="misc">Miscellaneous</option>
</select>
<input type="submit" value = "Go!"/>
</form></center>'; break;
case 'fromweb':
echo '<center><form action="pictures.php" action="get">
<select name="pictype">
<option value="fromweb">From Web</option>
<option value="uploads">Uploads</option>
<option value="wallpapers">Wallpapers</option>
<option value="misc">Miscellaneous</option>
</select>
<input type="submit" value = "Go!"/>
</form></center>'; break;
case 'wallpapers':
echo '<center><form action="pictures.php" action="get">
<select name="pictype">
<option value="wallpapers">Wallpapers</option>
<option value="uploads">Uploads</option>
<option value="fromweb">From Web</option>
<option value="misc">Miscellaneous</option>
</select>
<input type="submit" value = "Go!"/>
</form></center>'; break;
有什么建议吗?
答案 0 :(得分:4)
为什么不尝试使用选项的selected
属性,而不是将所选项目移动到列表顶部。这会将选择框初始化为所选选项。只需在与selected
$page
即可
function makeDropDown($page){
echo '<center><form action="pictures.php" action="get">';
echo ' <select name="pictype">';
echo ' <option value="uploads"'.(($page=="uploads")? " selected":"").'>Uploads</option>';
echo ' <option value="fromweb"'.(($page=="fromweb")? " selected":"").'>From Web</option>';
echo ' <option value="wallpapers"'.(($page=="wallpapers")? " selected":"").'>Wallpapers</option>';
echo ' <option value="misc"'.(($page=="misc")? " selected":"").'>Miscellaneous</option>';
echo ' </select>';
echo ' <input type="submit" value = "Go!"/>';
echo '</form></center>';
}
这样,如果$page=='misc'
,您的HTML就会以这种方式生成
<center><form action="pictures.php" action="get">
<select name="pictype">
<option value="uploads">Uploads</option>
<option value="fromweb">From Web</option>
<option value="wallpapers">Wallpapers</option>
<option value="misc" selected>Miscellaneous</option>
</select>
<input type="submit" value = "Go!"/>
</form></center>'
答案 1 :(得分:1)
你可以尝试在每个案例的最后开头回复:
<script type="text/javascript">document.getElementsByName(name).focus();</script>
希望有所帮助。