Получение всех параметров из списка выбора HTML

#php #html

#php #HTML

Вопрос:

Мне нужно создать php-массив из очень большого списка выбора HTML. Я искал генераторы и программы «выпадающий список в массив», но ничего не могу найти. Может кто-нибудь, пожалуйста, предложить php-код, который я могу использовать для получения всех параметров из выпадающего списка HTML и вывода их массива?

обновление: php или js. Все, что будет выводить массив, который я могу скопировать и вставить в свой скрипт.

Комментарии:

1. вы создаете select с помощью javascript или из php-скрипта?

2. Что здесь за очень большое количество опций? 25, 50, 200, 1000, больше?

3. Он явно очень большой. Допустим, около 200

Ответ №1:

Включите скобки в имя выбора; PHP примет ваш выбор в виде массива:

 <?php print_r($_GET['cars']);?>

<form>
<select name="cars[]" multiple="multiple" size="5">
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="mercedes">Mercedes</option>
  <option value="audi">Audi</option>
</select> 
<input type="submit" />
</form>
  

При обратной передаче print_r выходные данные (в зависимости от выбора):

 Array ( [0] => saab [1] => mercedes ) 
  

Комментарии:

1. Я не совсем уверен, что OP этого хочет.

2. это для нескольких элементов выбора, а не для выпадающего списка

3. Спасибо, Майк, это близко к тому, что мне нужно. Я пытаюсь получить название параметров, а не значения. Значения в большинстве случаев — это просто числа.

Ответ №2:

Если это javascript:

document.getElementById(<!--the_id_of_the_select-->) . Options и просто обрабатывайте его как массив, который будет создан и добавлен (document.createElement('input'), document.forms[0].appendChild(previous_item)) на этапе отправки процесса forms.

Альтернативно в php:

Когда вы выполняете цикл для тегов опций, созданных в области выбора, просто выполните второй foreach и создайте кучу скрытых элементов где-нибудь еще в форме.

В качестве альтернативы для обоих, вместо множества скрытых входных данных (с определенным префиксом), вы могли бы просто создать один, в котором перечислены все параметры в формате csv или что-то подобное