我有一個表單上的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
});
});
");