Foros del Web » Programando para Internet » Javascript »

Ayuda al cargar la pag.

Estas en el tema de Ayuda al cargar la pag. en el foro de Javascript en Foros del Web. Hola no estoy segura si es el foro adecuado, espero puedan ayudarme! Tengo un formulario con un select dependiente, es decir depende de la 1° ...
  #1 (permalink)  
Antiguo 28/10/2009, 15:27
 
Fecha de Ingreso: octubre-2009
Mensajes: 13
Antigüedad: 14 años, 6 meses
Puntos: 0
Ayuda al cargar la pag.

Hola no estoy segura si es el foro adecuado, espero puedan ayudarme!

Tengo un formulario con un select dependiente, es decir depende de la 1° opc. para desplegar el contenido eso ya lo hace.

El problema es cuando voy a modificar al usuario, como le hago para que me siga un select dependiente y me muestre la opción que había dado inicialmente; medio enredoso???



Sale, muchachos si no me explique bien me avisan, espero sus respuestas!
les dejo el codigo:
Código:
$location_select   = new XoopsFormSelect(Zona, "user_from", $location_value);
$locationlist    =  XoopsLists::getUserZonaList();

if ( count($locationlist) > 0 ) {
	$location_select->addOptionArray($locationlist);
	 
	} else {
		$location_select->addOption(0,"Zona");
	}
$location_select->setExtra("onchange='setOptions(document.userinfo.user_from.options[document.userinfo.user_from.options.selectedIndex].value)'");

$occupation_text = new XoopsFormText(_AM_OCCUPATION, "user_occ", 30, 100, $occ_value);
//$interest_text   = new XoopsFormText(_AM_INTEREST, "user_intrest", 30, 255, $interest_value);
$interest_select   = new XoopsFormSelect(Area, "user_intrest", $interest_value);
 
echo "\n<script type=\"text/javascript\">\n";
echo "function setOptions(chosen)\n";
echo"{\n";
	echo "var selbox = document.userinfo.user_intrest;\n";
	echo "selbox.options.length = 0;\n";
	//echo "alert(chosen);";
	echo "if (chosen == '0'){\n";
		echo "selbox.options[selbox.options.length] = new Option('Seleccione primero una ZONA','-1');\n";
	echo "}\n";

	foreach($locationlist as $locationValue => $locationKey)
	{
		echo "if (chosen == '".$locationValue; echo "'){\n";
			$interestlist = XoopsLists::getUserAreaList($locationlist[$locationValue]);
			if ( count($interestlist) > 0 ) {
				foreach($interestlist as $interestKey => $interestValue)
				{
					echo "selbox.options[selbox.options.length] = new Option('" .$interestValue; echo "','" .$interestKey; echo "');\n";	
				
				}
			}
			else
			{
				echo "selbox.options[selbox.options.length] = new Option('VACIO','-2');\n";
			} 
		echo "}";    
	}
echo"}\n";

   echo "window.onload = function(){\n";  
		echo "setOptions(document.userinfo.user_from.options[document.userinfo.user_from.options.selectedIndex].value)\n";		
   echo "}";
 echo "</script>\n";

las funciones


function &getUserZonaList() {
global $myts, $db;

$sql    = "SELECT IdZona, DescripcionZona  FROM t_zonas";
$ret    = array();
$retID = array();
$result = $db->query($sql);

while ( $myrow = $db->fetch_array($result) ) {
	$ret[$myrow['IdZona']] = $myts->makeTboxData4Show($myrow['DescripcionZona']);
	
}

return $ret;


}


function &getUserAreaList($location_value) {
global $myts, $db;

$sql    = "SELECT IdArea, Descripcion  FROM t_areas a, t_zonas z WHERE a.IdZona=z.IdZona AND z.DescripcionZona LIKE '%".$location_value."%'";
$ret    = array();
$result = $db->query($sql);

while ( $myrow = $db->fetch_array($result) ) {
	$ret[$myrow['IdArea']] = $myts->makeTboxData4Show($myrow['Descripcion']);
}

return $ret;
}


Saludos y gracias!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:05.