yii update clistview von dropdownlist

Ich bin ein sehr Neuling in Yii-framework. Ich möchte eine Seite erstellen. Was ist, wenn die dropdown-Liste ändern, die listview/gridview wird, ändern, indem Sie die dropdown-Wert.

dies ist meiner Ansicht

<div class="row">
        <?php

        $records = Company::model()->findAll();
        $company_list = CHtml::listData($records, 'id', 'name');
        echo CHtml::dropDownList('company_id','', $company_list,
        array(
        'onchange'=>"$.fn.yiiListView.update('ajaxListView', {url: '".Yii::app()->createUrl('department/dynamicsectionlist')."?company_id='+$('#company_id option:selected').val()})",
        'prompt'=>'Please select a company',
        )); ?>
    </div>

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

Ist dieses Modell

public function search()
    {
        //Warning: Please modify the following code to remove attributes that
        //should not be searched.

        $criteria=new CDbCriteria;

        $criteria->compare('id',$this->id);
        $criteria->compare('name',$this->name,true);
        $criteria->compare('p_id',$this->p_id);
        $criteria->compare('created',$this->created,true);
        $criteria->compare('updated',$this->updated,true);
        $criteria->compare('company_id',$this->company_id);

        return new CActiveDataProvider($this, array(
            'criteria'=>$criteria,
        ));
    }

Dies ist Controller

public function actionDynamicsectionlist()
    {       
        $company_id = $_POST['company_id'];
        $criteria=new CDbCriteria();
        $criteria->condition .= 't.id IN (SELECT t2.id, t2.name FROM department t2 WHERE t2.company_id = :company_id)';

        $criteria->params[':company_id'] = $company_id;
        $dataProvider = new CActiveDataProvider( 'Department', array( 'criteria' => $criteria, ) );
        $this->render( 'sectionlist', array( 'dataProvider' => $dataProvider ) );

    }

Aber es funktioniert nicht. Bitte helfen Sie mir.

Regads
Tharsoe

Was, wenn Sie ändern $company_id = $_POST['company_id']; zu $company_id = $_GET['company_id']; im controller?
Überprüfen Sie die Network-tab in firebug zu sehen, was an den server gesendet werden und/oder versuchen, echo der Inhalt $_POST und $_GET. Überprüfen Sie auch für js/php Fehler.
Ich versuchte es bereits. aber nicht arbeiten. wenn ich trace mit firebug, es gibt keine parameter für company_id GET localhost/mmaig_ceo/ceo-control-system/....
Sie können angeben, welche der Fehler, den Sie sehen, ist? "Aber es funktioniert nicht" ist nicht sehr hilfreich. Sie erwähnen, die Sie verwendet haben, firebug - funktioniert das onchange-Ereignis Feuer? Welche URL hat Sie Zugang? Ist das company_id parameter übergeben wird, richtig? Funktioniert das Rendern der 'sectionlist' Sicht passieren?

InformationsquelleAutor Thu Ra | 2012-07-16

Schreibe einen Kommentar