Может Опция в Избранном теге нести несколько значений?

Я получил избранный тег с некоторыми опциями в HTML-форме:
(данные будут собраны и обработали использование PHP),

Тестирование:

<SELECT NAME="Testing">  
  <OPTION VALUE="1"> One  
  <OPTION VALUE="2"> Two  
  <OPTION VALUE="3"> Three
</SELECT>

Действительно ли это возможно для опции нести несколько значений как то, когда пользователь выберет "Один", затем несколько других значений, связанных с этой опцией, будут записаны в Базу данных.

Как я должен разработать SELECT Тег так, чтобы каждая из опций могла нести один, чем одно значение как это:

<SELECT NAME="Testing">  
  <OPTION VALUE="1" value="2010"> One  
  <OPTION VALUE="2" value="2122"> Two  
  <OPTION VALUE="3" value="0"> Three
</SELECT>
96
задан Joshua Pinter 28 May 2015 в 05:00
поделиться

5 ответов

Один из способов сделать это, первый - массив, второй - объект:

    <select name="">
        <option value="{'num_sequence':[0,1,2,3]}">Option one</option>
        <option value="{'foo':'bar','one':'two'}">Option two</option>
    </select>

Отредактировано (через 3 года после ответа), чтобы поместить оба значения в формат JSON (используя JSON.stringify () ) из-за жалобы на то, что мой контрольный ответ «может запутать новичка-разработчика».

136
ответ дан 24 November 2019 в 05:34
поделиться

один из вариантов - указать несколько значений через запятую

, например

value ="123,1234"

и на стороне сервера разделяют их

15
ответ дан 24 November 2019 в 05:34
поделиться

Если ваша цель - записать эту информацию в базу данных, то зачем вам иметь первичное значение и «связанные» значения в атрибуте value ? Почему бы просто не отправить первичное значение в базу данных и позволить реляционной природе базы данных позаботиться обо всем остальном.

Если вам нужно иметь несколько значений в параметрах OPTION , попробуйте использовать не очень распространенный разделитель:

<OPTION VALUE="1|2010">One</OPTION>

...

или добавьте литерал объекта (формат JSON):

<OPTION VALUE="{'primary':'1','secondary':'2010'}">One</OPTION>

...

Это действительно зависит от того, что вы пытаетесь сделать.

5
ответ дан 24 November 2019 в 05:34
поделиться

поместите значения для каждой опции, такой как

<SELECT NAME="val">
   <OPTION VALUE="1" value="1:2:3:4"> 1-4  
   <OPTION VALUE="2" value="5:6:7:8"> 5-8  
   <OPTION VALUE="3" value="9:10:11:12"> 9-12
</SELECT>

, на стороне сервера в случае php, используйте такие функции, как explode [array] = explode ([разделитель], [опубликованное значение]);

$values = explode(':',$_POST['val']

приведенный выше код возвращает массив, содержащий только числа и удаление символа ':'

3
ответ дан 24 November 2019 в 05:34
поделиться

Дублирование параметров тегов не допускается в HTML. Что вы могли бы сделать, так это VALUE="1,2010". Но вам придется анализировать значение на сервере.

0
ответ дан 24 November 2019 в 05:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: