Intereting Posts
Есть ли способ проверить производительность индексации mysql Для этого адаптера требуется расширение PDO, но расширение не загружено Почему объектно-ориентированный PHP с mysqli лучше, чем процедурный подход? jQuery AJAX / POST не отправляет данные на PHP Как отправить электронную почту UTF-8? Масштабировать изображение в соответствии с максимальным размером файла Невозможно заставить тему работать в режиме каталога создать файл в другом каталоге с php file_get_contents () как исправить ошибку «Не удалось открыть поток», «Нет такого файла», Когда нужно обернуть фигурные скобки вокруг переменной Отображение типов SoapClient PHP ведет себя по-разному Установка Composer для Windows – невозможно найти оболочку «https» PHP конвертирует XML в группу JSON, когда есть один ребенок Почему я получаю сообщение «undefined», переданное в db? jquery php plupload Как установить цену скидки для всех продуктов в глобальном масштабе в opencart

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; 

Какие-либо предложения?

Вместо того, чтобы перемещать выбранный элемент в начало списка, почему бы не попробовать использовать 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>' 

Вы можете попробовать повторить это в конце каждого из следующих случаев:

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

Надеюсь, это поможет.