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

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-2020, «1С-Битрикс», 2020
Наверх