2011-01-28 79 views
0

我有一个下拉式导航,一旦用户单击按钮,用户就可以进入下拉菜单中选择的页面。我有一个函数将页面部分标题作为参数,并在页面顶部建立一个新的下拉页面,以便您导航到的每个页面都将保持在下拉列表中。该功能是一个大量的开关案例,有很多重复的代码,我知道有一个更简单和更简洁的方法来做到这一点...我只是想着解决方案时遇到麻烦。这里有一个代码片段,我不会发布整个开关案例:PHP - 使当前页面保持焦点的下拉式功能

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; 

有什么建议吗?

回答

4

而不是将所选项目移动到列表顶部,为什么不尝试使用选项项目的selected属性。这会将选择框初始化为选定的选项。简单地echo 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>' 
+0

正是我在找的东西。谢谢!! – tim 2011-01-28 20:12:00

1

你可以尝试在年底开始的回声荷兰国际集团这个每种情况:

<script type="text/javascript">document.getElementsByName(name).focus();</script> 

希望有帮助。