Yii хранить состояние чекбокса в сессии?
Есть правая колонка. Предположим, там есть чекбокс. Как запомнить его состояние? При клике post-запрос отправлять? В PHP можно было бы в сессию записать. А здесь как?
upd
дошел до такого view
<?php
if (isset(Yii::app()->session['data']))
$check = Yii::app()->session['data'];
else $check = false;
echo $check;
echo CHtml::checkbox('my-checkbox', $check, array('id'=>'my-checkbox-id')); ?>
<?php
Yii::app()->clientScript->registerScript('my-event-listener',"
$('#my-checkbox-id').change(function(){
$.post(
'check', //url
{ //data
myval: $(this).is(':checked')
}
);
});
");
?>
controller
public function actionCheck() {
if(Yii::app()->request->isPostRequest)
{
if(isset($_POST['myval']))
{
// save value to DB
$session = new CHttpSession;
$session->open();
$session['data'] = $_POST['myval'];
print_r(Yii::app()->session['data']);
}
}
else
throw new CHttpException(400,
Yii::t('app', 'Invalid request. Please do not repeat this request again.'));
}
визуально true и false $check присваиваются. а чекбокс всегда нажат. такое ощущение что чтобы не было в нем он считает это текстом и нажимает чекбокс
Источник: Stack Overflow на русском