Получение значения и текста из поля выбора в ColdFusion - PullRequest
1 голос
/ 15 сентября 2010

У меня есть несколько значений в поле выбора. Можно ли получить значение и текст между тегами <option> при отправке формы?

<option value="413">Highland </option>
<option value="414">Inverclyde </option>

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

Ответы [ 3 ]

4 голосов
/ 15 сентября 2010

Как отметил Стивен Моретти, есть как минимум два способа извлечь текст из значения.

Вы также можете использовать список, содержащий собственно значение и текст для значения выбора. Итак, вместо:

<option value="23">Twenty Three</option>

использование

<option value="23,TwentyThree">Twenty Three</option>

и использовать функции list * () в конце.

Наконец, вы можете использовать JavaScript для хранения текста выбранной опции в скрытом поле (или аналогичном). Это, на мой взгляд, наименее привлекательный вариант. Во-первых, это будет больше работы, чем другие варианты, а во-вторых, потому что он потерпит неудачу, если JS выключен на клиенте.

В зависимости от размера / типа данных, я, вероятно, переписал бы значения параметров, как я описал, или отключил таблицу поиска, как описал Стивен.

2 голосов
/ 15 сентября 2010

Если в вашем выделении есть только несколько пар значение / текст, просто сохраните значение.Если вам нужно вывести текст где-то еще, кроме select, просто напишите if / elseif / else или блок case для отображения текста.

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

Как вы скажете,есть слишком много пар значение / текст?Если запись блока case для их отображения приводит к глупому количеству утомительного кода.;)

0 голосов
/ 17 сентября 2010

Другой вариант - сохранить структуру ваших пар значение / текст в области видимости сеанса, а затем на странице действия формы вы можете использовать значение, чтобы легко найти ваш текст.

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

Удалите структуру из области сеанса, если вы не хотите ее хранить.

...