Документация для разработчиков
Темная тема

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" в answer_list["param"][i]; если такая строка будет найдена, то метод вернет ID данного ответа (хранимый в answer_list["reference_id"][i]).

Метод нестатический.

Параметры метода

Параметр Описание
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-2024, «1С-Битрикс», 2024