Автоматически выбирать опцию из меню выбора со ссылкой - PullRequest
1 голос
/ 07 июня 2010

Я пытаюсь использовать php (а если не php, javascript) для ссылки на страницу и добавить «? Type = foo» или «#foo» в конце ссылки, чтобы при загрузке ссылки на странице автоматически выберет конкретную опцию, в зависимости от конца ссылки, из выпадающего меню в форме. Я пытался найти это, но не знаю, как на самом деле называется это действие, но я видел, как это было сделано раньше. Кто-нибудь знает, как этого добиться? Большое спасибо.

Ответы [ 2 ]

1 голос
/ 07 июня 2010

Когда я создал их в прошлом, для простоты использования я просто вставил выбранное значение в верхнюю часть выделенного объекта, а не прокручивал весь список и помечал выбранное значение как таковое при его обнаружении. .

Предполагается, что страница называется как page.php?theSelectedList=Cougar:

<select name="theSelectList">
  <?php
    if( isset( $_GET['theSelectList'] ) )
      echo '<option selected="selected">'.$_GET['theSelectList'].'</option>';
  ?>
  <option>Aardvark</option>
  <option>Baboon</option>
  <option>Cougar</option>
  <option>Dog</option>
  <option>Elephant</option>
</select>

В этом случае параметр Cougar будет отображаться дважды - один раз в верхней части списка и выбран, а затем еще раз вниз по списку в обычном месте. Это может показаться странным, но в тех случаях, когда я его использовал, это было довольно интуитивно понятно.

Это красиво и просто, но, я упомяну предостережение, что вышеперечисленное потребуется немного перенастроить, если метки и значения параметров различны (как, например, каждый параметр имеет числовое значение, но текст этикетка.

0 голосов
/ 07 июня 2010

Если параметр указан в <select>, то имя, которое вы ищете, является атрибутом selected.Его можно применять к каждому тегу <option>, например: W3Schools .

. С его помощью вы можете просто использовать PHP if-оператор, например:

<?php

$options = array('Norway', 'United States', 'Springfield');

echo '<select>';

foreach($options as $country) {
    if(array_key_exists('selected', $_GET) && $_GET['selected'] === $country) {
        echo '<option selected="selected">'.$country.'</option>';
    }
    else {
        echo '<option>'.$country.'</option>';
    }
}

echo '</select>';

Если запрос ?country=Norway, то при загрузке страницы будет выбрана Норвегия.

Конечно, это можно решить и с помощью javascript.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...