YII 뷰 폴더에서 내용을 관리 할 수있는 테스트 모듈과 admin.php 파일이 있으며 여기에 양식을 렌더링합니다. 여기에 양식과 드롭 다운 코드를 입력하면 그리드 새로 고침 값을 지정합니다. 내가 선택 드롭 다운한다고 가정 의 상태 변경의 그리드보다 상태, 그것은 내가 상태Yii Refresh Grid On DropDown 변경
의 값을 선택하고이 드롭 다운 메뉴에서 양식 및 드롭 다운을 _dropdownform 포함되어<?php
Yii::app()->clientScript->registerScript('dropdown', "
$('.dropdown-form form').submit(function(){
$('#testimonial-grid').yiiGridView('update', {
data: $(this).serialize()
});
return false;
});
");
?>
<h1>Manage Testimonials</h1>
<div class="dropdown-form">
<?php $this->renderPartial('_dropdownform',array(
'model'=>$model,
)); ?>
</div><!-- search-form -->
<?php $this->widget('zii.widgets.grid.CGridView', array(
'id'=>'testimonial-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
'id',
'created_by',
'test_name',
'test_email',
'comments',
'created_at',
/*
'status',
'approved_on',
'approved_by',
*/
array(
'class'=>'CButtonColumn',
),
),
)); ?>
양식 아래에 승인 된 데이터를 표시 "승인"
<div class="wide form">
<?php
$form = $this->beginWidget('CActiveForm', array(
'action' => Yii::app()->createUrl($this->route),
'method' => 'get',
));
?>
<div class="row">
<?php
echo CHtml::dropDownList('status', '', array(0 => 'New', 1 => 'Approved', 2 => 'Declined'), array(
'prompt' => 'Select Status',
'ajax' => array(
'type' => 'POST',
'url' => Yii::app()->createUrl('testimonial/loadthedata'),
//or $this->createUrl('loadcities') if '$this' extends CController
'update' => '#testimonial-grid', //or 'success' => 'function(data){...handle the data in the way you want...}',
'data' => array('status' => 'js:this.value'),
)));
?>
</div>
<div class="row buttons">
<?php //echo CHtml::submitButton('Search'); ?>
</div>
<?php $this->endWidget(); ?>
</div><!-- search-form -->
및 이 함수의 데이터를 가져올 방법을 알고 그리드보기에 전달할 데이터를 가져 DROPDOWN로 제공된 내 컨트롤러 또는 URL의 코드는 ACTION을 따르고 있지만 그나마
public function actionloadthedata() {
if (isset($_POST['status'])) {
$status = $_POST['status'];
if($status==0){
$status='New';
}
if($status==1){
$status='Approved';
}
if($status==2){
$status='Declined';
}
Testimonial::model()->findByAttributes(array('status'=>$status));
}
}
오류가 발생합니다.필터 입력, # testimonial-grid. # filter-fomr-id .filter – FahadAkram
을 선택하여 양식을 필터링 한 다음 #THISID를 사용합니다 .row – Alex