Bueno, parece que no me estoy dando a entender en mi problemita, les explicare de manera mas detallada. Estoy utilizando multimodel form, en la parte del member form, osea los items, tengo dos dropdowns dependientes.
$memberFormConfig = array(
'elements'=>array(
'id_wbs'=>array(
'label'=>CHtml::label( Yii::t('app', 'Bid Item'),'',array(
'onmouseover'=>'js:{$(this).popover("show");}',
'style'=>'display:inline; float:none;',
//'class'=>"icon-comment",
'data-content'=>Yii::t('app', 'The Bid Item to be assigned the commitment.'),
)),
'type'=>'dropdownlist',
'style'=>'width:230px;',
'items'=>CHtml::listData(Wbs::model()->findAll(array('condition'=>'active=1')), 'id', 'Fullwbs'),
'prompt'=>'Select',
'class'=>'combosWBS'
),
'id_csi_code'=>array(
'label'=>CHtml::label( Yii::t('app', 'Pay Item'),'',array(
'onmouseover'=>'js:{$(this).popover("show");}',
'style'=>'display:inline; float:none;',
//'class'=>"icon-comment",
'data-content'=>Yii::t('app', 'The Pay Item code, description and unit of measure.')
)),
'type'=>'dropdownlist',
'prompt'=>'Select',
),
Y una funcion en javascript :
<script type="text/javascript">
$(document).ready(function(){
$(".parent-model").on("change",".combosWBS",function(){
var $combo = $(this).parents("td").next().find("select");
$combo.prop("disabled", true);
$.post("<?php echo CController::createUrl('Obtienecsi');?>",{id_wbs:$(this).val()},function(ret){
$combo.html(ret);
$combo.prop("disabled", false);
});
});
});
</script>
todo esto se encuentra dentro del _form.
y a su ves, este script llama a una funcion en el controlador que ejecuta la consulta de los datos que se mostraran en el cmapo id_csi_code
public function actionObtienecsi()
{
$idwbs=$_POST['id_wbs'];
$sql = Yii::app()->db->createCommand()
->select('csi_codes.id,CONCAT(csi_codes.csi_code," - ",csi_codes.client_code," - ",csi_codes.unit," - ",csi_codes.descr) as csi')
->from('csi_codes')
->leftJoin('v_change_ord_and_det', 'csi_codes.id = v_change_ord_and_det.id_csi_code')
->leftJoin('bill_of_qtys', 'csi_codes.id = bill_of_qtys.id_csi_code')
->where('(csi_codes.active = 1 AND (bill_of_qtys.active=1 OR v_change_ord_and_det.active=1) AND (v_change_ord_and_det.id_wbs=:idwbs OR bill_of_qtys.id_wbs=:idwbs))', array(':idwbs'=>$idwbs))
->group('csi_codes.id')
->queryAll();
$datos = CHtml::listData($sql, 'id', 'csi');
echo CHtml::tag('option',array('value'=>''),'Select',true);
foreach($datos as $csicode=>$code)
{
echo CHtml::tag('option',array('value'=>$csicode),CHtml::encode($code),true);
}
}
Todo aqui funciona bien al crear, se guarda en la base de datos correctamente y todo.
El problema está que al entrar a editar o update, como quieran llamarlo, el dropdown de id_csi_code me aparece vacio, pero si cambio el tipo de dropdownlist a text, ahi aparece el dato. Entonces, el problema es el dropdownlist, la funcion de javascript? He intentado aplicar lo del video que comento el otro chico pero simplemente no funciona para mi puesto que multimodel funciona diferente.
Espero haberme explicado bien. Muchas gracias! Buenavibra