Hola a todos de nuevo!, tengo una nueva duda la cual necesito solucionar lo antes posible, tengo un dropdown que al cambiar hace un request al controlador para cargar un textarea, hasta ahí perfecto, el problema esque necesito que aparte del valor que se recoge en el textarea recoger otro valor el cual utilizaré para ‘checkear’ un radiobuton entre 3, espero me podais ayudar, aquí os dejo el código por si es necesario, un saludo s0mk3
Codigo del dropdown:
<div class="row">
<?php
$db = Yii::app()->db;
if($db)
{
$query = 'SELECT \'\' as id_cat, \'SELECCIONA UNA CATEGORIA\' as nom UNION SELECT concat(\''.$id.'-\',cc.id_cat) as id_cat, cp.nom FROM cat_curr cc INNER JOIN categories_profesionals cp ON cc.id_cat = cp.id WHERE cc.id_curr = '.$id;
$result = $db->createCommand($query)->query();
}
$data = CHtml::listData($result,'id_cat','nom');
echo CHtml::label('Curriculum:','curriculum');
echo CHtml::dropDownList('curriculum','', $data,
array(
'ajax' => array(
'type'=>'POST',
'url'=>CController::createUrl('Dactualizar'),
'update'=>'#comentari',
)));
?>
</div>
codigo del controlador:
public function actionDactualizar()
{
$ids = explode("-", $_POST['curriculum']);
////////////////////////////
//$ids[0] --> id curriculum/
//$ids[1] --> id categoria//
////////////////////////////
$db = Yii::app()->db;
if($db)
{
$query = 'SELECT comentari FROM cat_curr WHERE id_curr = '.$ids[0].' AND id_cat = '.$ids[1];
$result = $db->createCommand($query)->queryScalar();
}
if(!empty($result))
echo $result;
}
aunque tendrias que manipular la respuesta desde el lado del cliente utilizando javascript… entonces agregarias algo como el codigo siguiente a tu dropDownList en las propiedades del ajax
Gracias por tu respuesta, pero me temo que mis conocimientos sobre yii no llegan a tanto como para saber aplicar esto. Un saludo
EDITO: He probado hacer lo que me has dicho, todo bien excepto que lado cliente (javascript) no me muestra nada, he hecho exactamente lo que me has dicho, llega en el post al cambiar el estado del dropdown un resultado con lo que debe ser, pero no me rellena el text area ni me selecciona el radiobutton, la consola de errores de javascript no me muestra ningun error…