Autor
|
Tema: [SOLUCIONADO] Dependent DropdownList con Yii framework (Leído 13,121 veces)
|
Graphixx
Desconectado
Mensajes: 1.336
Full Stack Developer
|
Hola compañeros ya que es medio complicado implementar combos dependientes en el framework. les comparto el codigo trabajando. Lo estoy implementando: ***********************Modelo: CombosDependientes Controlador: CombosDependientes Vista: _form.php Haciendo uso de los modelos: ****************************Departamento:codDepartamento strDepartamento Municipio:codMunicipio strMunicipio codDepartamento Corregimiento:codCorregimiento strCorregimiento codMunicipio codDepartamento En el controlador:<?php // Funcion para llenar combobox dependiente de lo que seleccione el usuario en Departamento/Municipio/Corregimiento public function actionDynamicMunicipios() { $data = Municipio::model()->findAll('codDepartamento=:parent_id', array(':parent_id'=>(int ) $_POST['CombosDependientes']['codDepartamento'])); $data = CHtml::listData($data,'codMunicipio','strMunicipio'); echo CHtml ::tag('option',array('value' => ''),'Seleccione un municipio...',true); foreach($data as $id => $value) { echo CHtml ::tag('option',array('value' => $id),CHtml ::encode($value),true); } } public function actionDynamicCorregimientos() { $data = Corregimiento::model()->findAll('codMunicipio=:parent_id', array(':parent_id'=>(int ) $_POST['CombosDependientes']['codMunicipio'])); $data = CHtml::listData($data,'codCorregimiento','strCorregimiento'); echo CHtml ::tag('option',array('value' => ''),'Seleccione un corregimiento...',true); foreach($data as $id => $value) { echo CHtml ::tag('option',array('value' => $id),CHtml ::encode($value),true); } } ?>
En la vista:<!-- INICIO COMBOS DEPENDIENTES --> <div class="row"> <?php echo $form->labelEx($model,'Departamento'); ?> <?php $departamento = new CDbCriteria; $departamento->order = 'strDepartamento ASC'; ?> <?php echo $form->dropDownList($model,'codDepartamento',CHtml::listData(Departamento::model()->findAll($departamento),'codDepartamento','strDepartamento'), 'type' => 'POST', 'url' => CController::createUrl('CombosDependientes/dynamicMunicipios'), 'update' => '#CombosDependientes_codMunicipio' ),'prompt' => 'Seleccione un Departamento...' ) ); ?> <?php echo $form->error($model,'codDepartamento'); ?> </div> <div class="row"> <?php echo $form->labelEx($model,'Municipio'); ?> <?php $municipio = new CDbCriteria; $municipio->order = 'strMunicipio ASC'; ?> <?php echo $form->dropDownList($model,'codMunicipio',CHtml::listData(Municipio::model()->findAll($municipio),'codMunicipio','strMunicipio'), 'type' => 'POST', 'url' => CController::createUrl('CombosDependientes/dynamicCorregimientos'), 'update' => '#CombosDependientes_codCorregimiento' ),'prompt' => 'Seleccione un Municipio...' ) ); ?> <?php echo $form->error($model,'codMunicipio'); ?> </div> <div class="row"> <?php echo $form->labelEx($model,'Corregimiento'); ?> <?php echo $form->dropDownList($model,'codCorregimiento',array('Seleccione un Corregimiento...'));?> <?php echo $form->error($model,'codCorregimiento'); ?> </div> <!-- FIN COMBOS DEPENDIENTES -->
El codigo trabaja perfecto
|
|
« Última modificación: 12 Junio 2011, 08:34 am por Graphixx »
|
En línea
|
Nada tiene fin solo hay pequeñas pausas, pausas que determinan el comienzo de otros. Graphixx Rōninnovation
|
|
|
Nakp
casi es
Ex-Staff
Desconectado
Mensajes: 6.336
he vuelto :)
|
pues... no discutire la forma en que trabajas con Yii, no lo he usado a fondo pero.. por que llamas al modelo en una vista? x_X supongo que lo estas haciendo en base a este tutorial http://www.yiiframework.com/wiki/24/creating-a-dependent-dropdown/no veo nada distinto mas que el replace perdona que no lo compruebe yo mismo pero me gustan mas otros frameworks xD
|
|
« Última modificación: 22 Mayo 2011, 20:07 pm por Nakp »
|
En línea
|
Ojo por ojo, y el mundo acabará ciego.
|
|
|
Graphixx
Desconectado
Mensajes: 1.336
Full Stack Developer
|
ya lo solucione yo solo A proposito compa, en que desarrollas, Kumbia, Cake, Zend ???....
|
|
|
En línea
|
Nada tiene fin solo hay pequeñas pausas, pausas que determinan el comienzo de otros. Graphixx Rōninnovation
|
|
|
Nakp
casi es
Ex-Staff
Desconectado
Mensajes: 6.336
he vuelto :)
|
codeigniter, fuel, doophp, a veces zend +jquery hardcoded xD
|
|
|
En línea
|
Ojo por ojo, y el mundo acabará ciego.
|
|
|
pabloramirez77
Desconectado
Mensajes: 2
|
Hola amigo, estoy probando tu codigo pero el mismo no me funciona, te anexo mi codigo a ver si me puedes ayudar.
Lo estoy implementando: *********************** Modelo: Institucion Controlador: InstitucionController Vista: _form.php
_form.php <?php // Funcion para llenar combobox dependiente de lo que seleccione el usuario en Estado/Municipio/Parroquia <!-- INICIO COMBOS DEPENDIENTES --> <div class="row"> <?php echo $form->labelEx($model,'Estado'); ?> <?php $estado = new CDbCriteria; $estado->order = 'nombre_estado ASC'; ?> <?php echo $form->dropDownList($model,'id_estado',CHtml::listData(estado::model()->findAll($estado),'id_estado', 'nombre_estado'), array( 'ajax' => array( 'type' => 'POST', 'url' => CController::createUrl('InstitucionController/actionDynamicMunicipios'), 'update' => '#InstitucionController_id_municipio' ) ,'prompt' => 'Seleccione un estado..' ) ); ?> <?php echo $form->error($model,'id_estado'); ?> </div> <div class="row"> <?php echo $form->labelEx($model,'Municipio'); ?> <?php $municipio = new CDbCriteria; $municipio->order = 'Nombre_Municipio ASC'; ?> <?php echo $form->dropDownList($model,'id_municipio',CHtml::listData(municipio::model()->findAll($municipio),'id_municipio','nombre_municipio'), array( 'ajax' => array( 'type' => 'POST', 'url' => CController::createUrl('CombosDependientes/dynamicCorregimientos'), 'update' => '#InstitucionController_id_parroquia' ),'prompt' => 'Seleccione un Municipio...' ) ); ?> <?php echo $form->error($model,'codMunicipio'); ?> </div> <div class="row"> <?php echo $form->labelEx($model,'Corregimiento'); ?> <?php echo $form->dropDownList($model,'id_parroquia',array('Seleccione un Corregimiento...'));?> <?php echo $form->error($model,'id_parroquia'); ?> </div> <!-- FIN COMBOS DEPENDIENTES -->
?>
InstitucionController.php public function actionDynamicMunicipios() { $data = Municipio::model()->findAll('codDepartamento=:parent_id', array(':parent_id'=>(int) $_POST['Institucion']['id_estado'])); $data = CHtml::listData($data,'id_Municipio','nombre_Municipio'); echo CHtml::tag('option',array('value' => ''),'Seleccione un municipio...',true); foreach($data as $id => $value) { echo CHtml::tag('option',array('value' => $id),CHtml::encode($value),true); } } public function actionDynamicCorregimientos() { $data = Corregimiento::model()->findAll('codMunicipio=:parent_id', array(':parent_id'=>(int) $_POST['Institucion']['id_municipio'])); $data = CHtml::listData($data,'id_parroquia','nombre_parroquia'); echo CHtml::tag('option',array('value' => ''),'Seleccione un corregimiento...',true); foreach($data as $id => $value) { echo CHtml::tag('option',array('value' => $id),CHtml::encode($value),true); } }
|
|
|
En línea
|
|
|
|
pabloramirez77
Desconectado
Mensajes: 2
|
Gracias buen amigo ya encontre la solucion.. un abrazo
|
|
|
En línea
|
|
|
|
tamayo461
Desconectado
Mensajes: 1
|
Hola, alguien me podria ayudar con yii dramework?
|
|
|
En línea
|
|
|
|
Graphixx
Desconectado
Mensajes: 1.336
Full Stack Developer
|
|
|
|
En línea
|
Nada tiene fin solo hay pequeñas pausas, pausas que determinan el comienzo de otros. Graphixx Rōninnovation
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
llenar un dropdownlist
.NET (C#, VB.NET, ASP)
|
pedraxito
|
1
|
9,894
|
29 Octubre 2007, 06:55 am
por Hadess_inf
|
|
|
[Asp.net] Redireccionamiento con DropDownList???
.NET (C#, VB.NET, ASP)
|
mbc
|
5
|
7,373
|
6 Marzo 2008, 23:16 pm
por [D4N93R]
|
|
|
.C# DropDownList
.NET (C#, VB.NET, ASP)
|
ave_99
|
0
|
4,178
|
19 Septiembre 2008, 18:29 pm
por ave_99
|
|
|
LLENAR DROPDOWNLIST C# .NET
.NET (C#, VB.NET, ASP)
|
eaguila7
|
2
|
14,887
|
16 Octubre 2009, 15:12 pm
por MANULOMM
|
|
|
Manual 02 para aprender YII FRAMEWORK [ Instalacion de Mbmenu en YII FRAMEWORK]
PHP
|
Graphixx
|
0
|
5,971
|
10 Noviembre 2011, 19:43 pm
por Graphixx
|
|