2013-07-24 75 views
0

我創建的DropDownList,我想,以填補內容的div崗位價值,我知道該怎麼做。但問題是,我的下拉列表不會POST值。的DropDownList不會使用AJAX

這是從圖\的index.php

<?php 
echo CHtml::dropDownList('parovi', '', $model->dropDownListParovi(), array 
    (
     'class'=>'dropDownListLegloIzaberiPar', 
     'empty'=>array('-'=>Yii::t('default', 'PAR_UZGOJNI_DNEVNIK_LEZENJA_IZABERI_PAR')), 
     'ajax'=>array 
     (
      'type'=>'POST', 
      'url'=>Yii::app()->createUrl('/paruzgojni/ajaxIzlistajLegla'), 
      'update'=>'#legla', 
     ), 
    ) 
); 

?> 

<div id="legla"></div> 

代碼這是從控制器

public function actionAjaxIzlistajLegla() 
{ 
     echo $_POST['parovi']; 
} 

這AjaxIzlistaijLegla動作是內部accessRules()。它的工作的原因當我更換echo $_POST['parovi'];echo "Hello";它的工作原理,它更新我的股利。但我不知道爲什麼它不會從下拉列表中發佈該值。

jQuery是包含在頭上。

回答

1

答案是我應該換我DROPDOWNLIST與CActiveForm這樣

$this->beginWidget('CActiveForm', array(
    'id'=>'par-uzgojni-ispis-legla-form', 
)); 

echo CHtml::dropDownList('parovi', '', $model->dropDownListParovi(), array 
    (
     'class'=>'dropDownListLegloIzaberiPar', 
     'empty'=>array('-'=>Yii::t('default', 'PAR_UZGOJNI_DNEVNIK_LEZENJA_IZABERI_PAR')), 
     'ajax'=>array 
     (
      'type'=>'POST', 
      'url'=>Yii::app()->createUrl('/paruzgojni/ajaxIzlistajLegla'), 
      'update'=>'#legla', 
     ), 
    ) 
); 

$this->endWidget(); 

因爲我沒有把它包起來,不能任何POST數據到我的控制器

+0

不是真的。你沒有傳遞任何數據在Ajax調用,這就是爲什麼職位是空的。添加到ajax''data'=>'this.value',你會看到。 – ineersa

+0

也許,但它也是這樣工作的 – FosAvance