Dane w selekcie uzależnione od innego selecta

Witam,

mam następujący kod w widoku który wczytuje dane do drugiego selecta na podstawie wyboru pozycji z pierwszego:




echo CHtml::dropDownList('category_id','', $categories,

array(

'ajax' => array(

    'type'=>'POST',

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


    //'data'=>'js:jQuery(this).serialize()',

    //'success'=>"function(data) { alert('test') }",


    'update'=>'#subcategory',

),

'options' => array(1=>array('selected'=>true))

)); 

echo CHtml::dropDownList('subcategory','', array());



Wszystko działa poprawnie, tylko chciał bym ukryć tego drugiego selecta jeśli jest pusty, czyli w tym wypadku kiedy nie posiada podkategorii.

Chciałem to zrobić w js, tylko mam problem z momentem wywołania funkcji, kiedy chciałem się podpiać na onchange to było za szybko, ajax jeszcze wtedy nie załadował danych. W necie znalazłem zdarzenie "success" (zakomentowane w kodzie), które powinno problem rozwiązać, jednak jak to włączę to "update" już nie działa, nie uzupełnia mi danymi tego drugiego selecta.

Ma ktoś jakiś promysł jak to obejść?

Możesz zamiast drugiego pustego selecta dać kontener, który będzie wypełniany całym selectem docelowo.

Lista będzie generowana w akcji i będzie wypluwać gotowego selecta z danymi lub nic, jeśli nie ma podkategorii.