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
Überprüfen Sie die Network-tab in firebug zu sehen, was an den server gesendet werden und/oder versuchen, echo der Inhalt
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?
$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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich es gelöst.
Dies ist controller
Ist dieses Modell (nichts ändern)
Dieser Ansicht (list_department.php)
ajax
Objekt inHTMLoption
Eigentum Ihrer dropdownmenu Eingang, und Feuer ajax-Anfrage an IhrendynamicDeparatmentList
Aktion nur echoDataProvider
zurück. In diesem caes werden Sie loszuwerden, alle jquery.InformationsquelleAutor Thu Ra