2011-01-28 87 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> 

希望有幫助。