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

GetCheckBoxField

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

string
CForm::GetCheckBoxField(
 string question_sid,
 int answer_id,
 mixed value = "",
 string add_to_checkbox = "class=\"inputcheckbox\""
)

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

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

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

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

Параметр Описание
question_sid Символьный идентификатор вопроса.
answer_id ID ответа.
value Если в данном параметре будет передано значение, совпадающее с answer_id, то флаг множественного выбора будет отмечен (checked):
<input type="checkbox" checked ...>

Параметр необязательный. По умолчанию - "".
add_to_checkbox Произвольный HTML, который будет добавлен в результирующий HTML тег флага множественного выбора:
<input type="checkbox" add_to_checkbox ...>

Необходимо учитывать, что если в данном параметре задать ключевое слово "checked", то данный переключатель будет выбран по умолчанию.

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

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

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

$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><?
            
            /**********************************************************
                выводим два checkbox'а (математика/физика) 
                как варианты ответа на вопрос 
                "Какие области знаний вас интересуют ?"
            **********************************************************/

            $QUESTION_SID = "INTEREST"; // символьный идентификатор вопроса

            /***********************
              checkbox "математика"
            ***********************/

            // массив описывающий один checkbox
            // содержит минимально-необходимые поля
            $arAnswer = array(
                "ID"            => 591,            // ID checkbox'а
                "FIELD_PARAM"   => "checked class=\"inputcheckbox\""   // параметр ответа
                );

            // получим текущее значение
            $value = CForm::GetCheckBoxValue($QUESTION_SID, $arAnswer, $arrVALUES);

            // выведем checkbox
            echo CForm::GetCheckBoxField(
                $QUESTION_SID,
                $arAnswer["ID"],
                $value,
                $arAnswer["FIELD_PARAM"]
                );            
            echo "математика<br>";

            /***********************
                checkbox "физика"
            ***********************/

            // массив описывающий один checkbox
            // содержит минимально-необходимые поля
            $arAnswer = array(
                "ID"            => 593,       // ID checkbox'а
                "FIELD_PARAM"   => ""         // параметр ответа
                );

            // получим текущее значение
            $value = CForm::GetCheckBoxValue($QUESTION_SID, $arAnswer, $arrVALUES);

            // выведем checkbox
            echo CForm::GetCheckBoxField(
                $QUESTION_SID,
                $arAnswer["ID"],
                $value,
                $arAnswer["FIELD_PARAM"]
                );            
            echo "физика";
            ?></td>
    </tr>
</table>
<input type="submit" name="save" value="Сохранить">
</form>


Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2020, «1С-Битрикс», 2020
Наверх