2011-01-28 4 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属性を使用してみてください。選択ボックスが選択されたオプションに初期化されます。単に$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>'; 
} 

この方法での値と一致するオプションでselectedをエコー、$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

1

あなたがの最後の冒頭で、これをエコー-INGの試みることができるとなります各ケース:

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

希望があれば。

関連する問題