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>