我有一个表单上的activeCheckBox,我想更改复选框值时更新数据库。我正在阅读关于activeCheckBox的CHTML类的文档,但我真的不知道从哪里开始。任何人都可以提供一个如何使用ajax更新或任何指向示例的链接来设置activeCheckBox的例子吗?更新activeCheckBox的值更改数据库,Yii框架
编辑
也许应该提到,我刚开始用Yii的工作,并具备PHP和JavaScript的经验。
我有一个表单上的activeCheckBox,我想更改复选框值时更新数据库。我正在阅读关于activeCheckBox的CHTML类的文档,但我真的不知道从哪里开始。任何人都可以提供一个如何使用ajax更新或任何指向示例的链接来设置activeCheckBox的例子吗?更新activeCheckBox的值更改数据库,Yii框架
编辑
也许应该提到,我刚开始用Yii的工作,并具备PHP和JavaScript的经验。
也许这样的事情?在您的控制器
AJAX动作:
public function actionCheckboxUpdate() {
if(Yii::app()->request->isPostRequest)
{
if(isset($_POST['my_checkbox']))
{
// save value to DB
}
}
else
throw new CHttpException(400,
Yii::t('app', 'Invalid request. Please do not repeat this request again.'));
}
Yii的复选框:
<?php echo CHtml::checkbox('my_checkbox', false, array(
'submit'=>'mycontroller/checkboxUpdate',
'params'=> array('my_checkbox'=>'1')
)); ?>
取决于你想通过你可能需要更大胆的尝试,像添加自己的jQuery的事件侦听器的PARAMS它会将复选框的实际值发布到您的ajax动作,但我希望这会让您开始。
欲了解更多信息,请参阅CHtml::checkBox(和Yii用于简化AJAX的CHtml::clientChange参数)的文档。
这里有一些其他的文章,将是很好的阅读,以及:
祝你好运!
创建复选框像往常一样:
<?php
echo CHtml::checkbox('my-checkbox', false, array('id'=>'my-checkbox-id'));
然后创建一个jQuery事件侦听器
<?php
Yii::app()->clientScript->registerScript('my-event-listener',"
$('#my-checkbox-id').change(function(){
$.post(
'controller/action', //url
{ //data
myval: $(this).is(':checked')
},
function(data){
alert(data); //callback
});
});
");