Как создать динамически отключить один флажок checkboxlist в YII

В форме, у меня есть флажок, который имеет два флажка (мужской и женский)
Пользователь может выбрать оба из них или любой из них. И значения сохраняются в БД.

Когда мы заполняем его из БД, я хочу сделать так, как если бы мужчина был выбран, тогда он должен выбрать флажок Мужской и отключить флажок Женский или наоборот.

Код в моем файле View:

<?php if(isset($model['gender'])){
$data = $model['gender'];
if (isset($data)) {
if($data == 0)
$htmlOptions = array(
'0' => array('label'=>'MALE'),
'1' => array('disabled'=>'disabled','label'=>'FEMALE'),);
}
if($data == 1){
$htmlOptions = array(
'0' => array('disabled'=>'disabled','label'=>'MALE', ),
'1' => array('label'=>'FEMALE'),);
}
}
echo $form->checkBoxList($model, 'gender', $htmlOptions); ?>

Проблема в том, что когда я заполняю, он выбирает тот, который я выбрал, сохраняя, но не отключая другой.

0

Решение

Для этого вы должны использовать javascript, потому что вы не можете справиться с этим только с помощью PHP. Сейчас я не так много знаю о JS, но все просто:

  1. Получить идентификаторы флажка
  2. проверьте, какой из них выбран
  3. отключите другой с помощью innerHTML в JS.

Вот у вас есть пример того, как вы отключите флажки в JS

Просто чтобы вы знали, JS должен быть размещен внутри представления.

-1

Другие решения

Других решений пока нет …