GetDropDownValue
Описание и параметры
int CForm::GetDropDownValue( string question_sid, array answer_list, mixed form_values = false )
Если массив, переданный в параметре form_values, инициализирован (например, в момент редактирования результата), то метод возвращает ID ответа, выбранного среди группы ответов типа "dropdown" на вопрос, символьный идентификатор которого указан в параметре question_sid.
Если массив, переданный в параметре form_values, не инициализирован (например, в момент создания нового результата), то метод вернет ID ответа выбранного по умолчанию. Поиск ответа по умолчанию осуществляется среди группы ответов, задаваемых в параметре answer_list, посредством поиска строки "checked" в
Метод нестатический.
Параметры метода
| Параметр | Описание |
|---|---|
| question_sid | Символьный идентификатор вопроса. |
| answer_list | Массив ответов типа "dropdown" на вопрос question_sid. Минимально требуемая структура данного массива:
Array ( [reference_id] => Array ( [0] => ID ответа 1 [1] => ID ответа 2 [2] => ID ответа 3 ... ) [param] => Array ( [0] => параметр ответа 1 [1] => параметр ответа 2 [2] => параметр ответа 3 ... ) ) |
| form_values | Ассоциированный массив значений, пришедших с веб-формы при создании нового или редактировании существующего результата (стандартный массив $_REQUEST). Данный массив может быть также получен с помощью функции CFormResult::GetDataByIDForHTML. Параметр необязательный. По умолчанию - "false". |
Смотрите также
Примеры использования
<?
/*******************************************
Редактирование результата
*******************************************/
$RESULT_ID = 12; // ID результата
// если была нажата кнопка "Сохранить" то
if (strlen($_REQUEST["save"])>0)
{
// используем данные пришедшие с формы
$arrVALUES = $_REQUEST;
}
else
{
// сформируем этот массив из данных по результату
$arrVALUES = CFormResult::GetDataByIDForHTML($RESULT_ID);
}
?>
<form action="" method="POST">
<table>
<tr>
<td>*Возраст:</td>
<td><?
// символьный идентификатор вопроса
$QUESTION_SID = "AGE";
// массив описывающий элементы выпадающего списка
$arDropDown = array (
"reference" => array (
"-",
"10-19",
"20-29",
"30-39",
"40-49",
"50-59",
"60 и старше"
),
"reference_id" => array (
608,
596,
597,
598,
599,
600,
601
),
"param" => array (
"not_answer class=\"inputselect\"", // не является ответом
"",
"checked", // значение по умолчанию
"",
"",
"",
""
)
);
// получим текущее значение выпадающего списка
$value = CForm::GetDropDownValue($QUESTION_SID, $arDropDown, $arrVALUES);
// выведем выпадающий список
echo CForm::GetDropDownField(
$QUESTION_SID, // символьный идентификатор вопроса
$arDropDown, // массив описывающий элементы списка
$value, // значение выбранного элемента списка
"class=\"inputselect\"" // стиль выпадающего списка
);
?></td>
</tr>
</table>
<input type="submit" name="save" value="Сохранить">
</form>
© «Битрикс», 2001-2025, «1С-Битрикс», 2025