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

GetMultiSelectField

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

string
CForm::GetMultiSelectField(
	string question_sid,
	array list,
	array values = array(),
	mixed height = "",
	string add_to_multiselect = "class=\"inputselect\""
)

Возвращает HTML код списка множественного выбора, предназначенного для выбора ответов из группы ответов типа "multiselect" на вопрос, символьный идентификатор которого передается в параметре question_sid.

Метод может использоваться как в форме создания нового результата, так и в форме редактирования существующего. Метод нестатический.

Примечание
Имя результирующего HTML поля будет сформировано по следующей маске:
form_multiselect_question_sid[]

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

Параметр Описание С версии
question_sid Символьный идентификатор вопроса.
list Массив ответов типа "multiselect" на вопрос question_sid. Минимально требуемая структура данного массива:
Array
(
	[reference] => array
	(
		[0] => заголовок ответа 1
		[1] => заголовок ответа 2
		[2] => заголовок ответа 3
		...
	)

	[reference_id] => array
	(
		[0] => ID ответа 1
		[1] => ID ответа 2
		[2] => ID ответа 3
		...
	)
)
В данном массиве под заголовком ответа понимается параметр ANSWER_TEXT ответа.
values Если в данном параметре будет передан массив со значениями, совпадающими с ID ответов, данные ответы будут выбраны (выделены) в результирующем списке:
<option value="значение элемента" selected>заголовок элемента</option>

Параметр необязательный. По умолчанию - array() (пустой массив).
height Высота результирующего списка множественного выбора:
<select multiple size="height" ...>

Параметр необязательный. По умолчанию - "class=\"inputselect\"".
add_to_multiselect Произвольный HTML, который будет добавлен в результирующий HTML тег:
<select add_to_multiselect ...>

Параметр необязательный. По умолчанию - "class=\"inputselect\"".

Примеры использования

<?
/*******************************************
       Редактирование результата
*******************************************/

$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