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" в
Метод нестатический.
Параметры метода
| Параметр | Описание |
|---|---|
| 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>