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

GetMultiSelectValue

Описание и параметры

array
CForm::GetMultiSelectValue(
	string question_sid,
	array answer_list,
	mixed form_values = false
)

Если массив, переданный в параметре form_values, инициализирован (например, в момент редактирования результата), то метод возвращает массив ID ответов, выбранных среди группы ответов типа "multiselect" на вопрос, символьный идентификатор которого указан в параметре question_sid.

Если массив, переданный в параметре form_values, не инициализирован (например, в момент создания нового результата), то метод вернет массив ID ответов, выбранных по умолчанию. Поиск ответа по умолчанию осуществляется среди группы ответов, задаваемых в параметре answer_list, посредством поиска строки "checked" в answer_list["param"][i]; если такая строка будет найдена, то метод добавит данный ID ответа (хранимый в answer_list["reference_id"][i]) в результирующий массив.

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

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

Параметр Описание
question_sid Символьный идентификатор вопроса.
answer_list Массив ответов типа "multiselect" на вопрос 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 = "EDUCATION"; 

			// массив описывающий элементы списка множественного выбора
			$arMultiSelect = array (

				"reference" => array (
					"начальное",
					"средне-специальное",
					"высшее",
				),

				"reference_id" => array (
					602,
					603,
					604,
				),

				"param" => array (
					"",
					"",
					"checked", // значение по умолчанию
				)
			);

			// получим текущее значение выпадающего списка
			$arValues = CForm::GetMultiSelectValue($QUESTION_SID, $arMultiSelect, $arrVALUES);

			// выведем список множественного выбора
			echo CForm::GetMultiSelectField(
				$QUESTION_SID,           // символьный идентификатор вопроса
				$arMultiSelect,          // массив описывающий элементы списка
				$arValues,               // значения выбранных элементов списка
				10,                      // высота списка
				"class=\"inputselect\""  // стиль списка
			);      
		?></td>
	</tr>
</table>
<input type="submit" name="save" value="Сохранить">
</form>


© «Битрикс», 2001-2024, «1С-Битрикс», 2024