如何通过下拉列表更新列表视图?

时间:2013-08-13 15:39:07

标签: php yii

我需要在选择下拉列表后更新listview。 我在index.php文件中有下拉列表

<?php echo CHtml::DropDownList('myDropDown1','',array(),array(

        'onchange'=>"$.fn.yiiListView.update(
           'ajaxListView', {url: '".Yii::app()->createUrl('RepotCardMain/getclassreportcards')."?myDropDown1='+$('#myDropDown1 option:selected').val()})",
        'prompt'=>' select a Class','style'=>'width:300px;'
        ));

listview是

<?php $this->widget('zii.widgets.CListView', array(
    'dataProvider'=>$dataProvider, 
    'itemView'=>'_view',
        'id'=>'ajaxListView',
)); ?>

在我的RepotCardMainController.php中我有getclassreportcards方法

 if(isset($_POST['myDropDown1']))
    {

       $criteria=new CDbCriteria;
       $criteria->condition = 't.class_id=:class_id';
       $criteria->params    = array(':class_id'=>$_POST['myDropDown1']);
       $dataProvider=new      CActiveDataProvider('RepotCardMain',array('criteria'=>$criteria,));

        $this->render('repotCardMain',array(
                'dataProvider'=>$dataProvider,
            ));
    }

这不是更新列表视图,我无法出错。我需要快速帮助。 谢谢

1 个答案:

答案 0 :(得分:1)

您必须使用$_GET而不是$_POST,因为您将参数myDropDown1作为查询字符串传递

编辑:由于你提供的信息较少,让我看看里面,我将描述它是如何工作的 为了你 enter image description here