Aktualizacja Dropdowlist Z Ajax?

Witam,

Mam taki kod:

echo $form->dropDownList($model, ‘id_kategorie’, $list, array(‘prompt’ => ‘Wybierz Główną Kategorie’,

            'ajax' => array(


                'type' => 'POST',


                'url' => SiteController::createUrl('loadkategorie'),


                'update'=>'#id_podkategorie',


                'data' => array('id_kategorie' => 'js:this.value'),


        )));

//aktulizuje mi liste:

echo CHtml::dropDownList(‘id_podkategorie’, ‘’, array(), array(‘prompt’ => ‘Wybierz Podkategorie’));

i ok działa

ale chciałbym linie

echo CHtml::dropDownList(‘id_podkategorie’, ‘’, array(), array(‘prompt’ => ‘Wybierz Podkategorie’))

zmienić na

echo $form->dropDownList($model,‘id_podkategorie’, ‘’, array(), array(‘prompt’ => ‘Wybierz Podkategorie’)); by wykonać insert, niestety nie działa pojawia się komunikat Invalid argument supplied for foreach().

Jak rozwiązać ten problem, jakie argumenty powinny być w echo $form->dropDownList?

Pozdrawiam

Jarek

dropDownList dla CHtml’a :

public static string dropDownList(string $name, string $select, array $data, array $htmlOptions=array ( ))

dla CActiveForm:

public string dropDownList(CModel $model, string $attribute, array $data, array $htmlOptions=array ( ))

Polecam http://www.yiiframework.com/doc/api/1.1

Probowałem coś takiego:

echo $form->dropDownList($model, ‘id_podkategorie’, ‘id_kategorie’, array());

ale i to nie poszło Invalid argument supplied for foreach()

Może nie będzie to idealna pomoc, ale na forum przewinęło mi się chyba 10 podobnych tematów więc na pewno rozwiązanie jest ;)

Jak widzisz powyżej w tym co napisałem 3 parametr to array(), natomiast 4 parametr jest opcjonalny, dlatego też Twoja linijka powinna wyglądać mniej wiecej :


  echo $form->dropDownList($model, 'id_podkategorie', array());

Pozdrawiam i życze miłego dnia.

Musiałem zmienić pierwszy dropDownList-update na coś takiego:

//

echo $form->dropDownList($model, ‘id_kategorie’, $list, array(‘prompt’ => ‘Wybierz Główną Kategorie’,

            'ajax' => array(


                'type' => 'POST',


                'url' => SiteController::createUrl('loadkategorie'),


                'update' => '#'.CHtml::activeId($model,'id_podkategorie'),


                'data' => array('id_kategorie' => 'js:this.value'),


            


       )));

//

a drugi dropDownList został bez zmian:

//

echo $form->dropDownList($model, ‘id_podkategorie’, array());

//

Dzięki za pomoc.

Pozdrawiam

Jarek

witam

czy mógłbyś wrzucić fragment kontrolera, a konkretnie z metoda loadkategorie.

pozdrawiam jurek