2014-02-16 4 views
0

Как я могу сохранить значение как ivar из dropDownlist в yii? вот мой код, который не работает:/ декларация Ивар:Yii dropdownlist сохранение значения в ivar onclick

public $blaaa; 

и мой DropDownList код:

echo CHtml::dropDownList(
       'categoryDropDownList', 
       '', 
       CHtml::listData(Category::model()->findAll(), 'id', 'name'), 
       array(
        'empty' => 'Select Category', 
        'onchange'=>function() { 
          $this->blaaa = 'js:this.value'; 
         } 
        )); 

Я пытался также с помощью AJAX, но он также не работает:

'ajax' => array(
    'type' => 'POST', 
    'url' => CController::createUrl('category/actionBla'), 
    'data' => array('id' => 'js:this.value') 

где

public function bla() 
{ 
    if (isset($_POST['id'])) { 
     $this->blaaa = $_POST['id']; 
} 

заблаговременно за помощь!

+0

Какое сообщение об ошибке вы получаете? любая ошибка js? –

+0

nope, любая ошибка к сожалению. Кажется, $ blaa по-прежнему пуст, поэтому js не передает данные – Neru

ответ

0

Я решил свою проблему с echo'ing CHtml :: DROPDOWNLIST в форме:

echo CHtml::form(); 
    echo CHtml::dropDownList(
     'categoryDropDownList', 
     '', 
     CHtml::listData(Category::model()->findAll(), 'id', 'name'), 
     array(
      'empty' => 'Select Category' 
     )); 
echo CHtml::endForm(); 

и теперь activeForm беспокоиться о отправке параметров через POST

0

В АЯКС разделе Изменение URL, как показано ниже

'url' => CController::createUrl('category/bla'), 

В контроллере, ваше имя функции должно быть

public function actionBla() 
+0

, он не решает проблему. $ blaa по-прежнему пуст – Neru

+0

Вы печатали_r ($ _ POST); в действииBla()? –

+0

Проверьте свой айхакс и отправьте данные в консоли браузера. –

Смежные вопросы