Foros del Web » Programando para Internet » PHP »

mostrar item por defecto al cargar el formulario

Estas en el tema de mostrar item por defecto al cargar el formulario en el foro de PHP en Foros del Web. hola tengo problemas para cargar item por defecto en un select este es el codigo del select Código PHP: <select name="cantones" id="cantones"  onChange='this.form.submit()'>                  <!--<option value='-1'>-Seleccione-</option>-->                  <?php                  if (!empty( ...
  #1 (permalink)  
Antiguo 07/05/2012, 11:31
(Desactivado)
 
Fecha de Ingreso: marzo-2012
Mensajes: 108
Antigüedad: 12 años, 8 meses
Puntos: 1
mostrar item por defecto al cargar el formulario

hola tengo problemas para cargar item por defecto en un select

este es el codigo del select

Código PHP:
<select name="cantones" id="cantones"  onChange='this.form.submit()'> 
                <!--<option value='-1'>-Seleccione-</option>-->
                <?php
                
if (!empty($provincias)){
                    
$SQLconsulta_hija1="SELECT * FROM cantones WHERE relacion='$provincias'";
                    
$consulta_hija1 mysql_query($SQLconsulta_hija1$link);
                    
                    if (
mysql_num_rows($consulta_hija1) != 0){
                        While  (
$registro_hija1=mysql_fetch_array($consulta_hija1)){
                            if (
$cantones == $registro_hija1['id']){
                                echo 
'<option value="'.$registro_hija1["id"].'" selected="selected" >'.$registro_hija1['opcion'].'</option>';
                            }else{
                                echo 
'<option value="'.$registro_hija1['id'].'" >'.$registro_hija1['opcion'].'</option>';
                            }
                        }
                    }else{
                        echo 
"<option value=''>No hay registros para este Item</option>";
                    }
                }else{
                    echo 
"<option value='-1'>Seleccione-></option>";
                }
                
?>
            </select>
el problema que tiene este select es que muestra el item por defecto al hacer click en el select .. deberia mostrarlo al cargar el form
nose como hacer para mostrar el item por defecto al cargar el formulario .. ayuda porf.
  #2 (permalink)  
Antiguo 07/05/2012, 11:40
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 6 meses
Puntos: 528
Respuesta: mostrar item por defecto al cargar el formulario

Supongo que tu problema es de sintaxis html, ya que para inidcar que un item está seleccionado no se hace así:
selected="selected"

si no simplemente

selected.

es decir

<option value="xxxxx" selected>xxxxx</option>
  #3 (permalink)  
Antiguo 07/05/2012, 11:44
 
Fecha de Ingreso: mayo-2012
Ubicación: Villavicencio
Mensajes: 2
Antigüedad: 12 años, 6 meses
Puntos: 0
Mensaje Respuesta: mostrar item por defecto al cargar el formulario

deberías cargar el select sin seleccionar ningun option y despues con jquery activar el option seleccionado, ejemplo:
HTML:
<
Código HTML:
Ver original
  1. <select id="select">
  2.    <option value="1">1</option>
  3.    <option value="2">2</option>

Javascript:
Código Javascript:
Ver original
  1. $("#select option[value=1]").attr("selected",true);

La idea es que con PHP reemplaces el 1 por la opción que debe quedar seleccionada, eso es todo
  #4 (permalink)  
Antiguo 07/05/2012, 12:26
(Desactivado)
 
Fecha de Ingreso: marzo-2012
Mensajes: 108
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: mostrar item por defecto al cargar el formulario

reemplace :
selected="selected"
por
selected

pero el problema persiste. osea, muestra el item por defecto si!, pero al poner el foco sobre el select, cuando deberia hacerlo al cargar el formulario no sera el evento Onchange que tenga que ver, ayuda porfavor.
  #5 (permalink)  
Antiguo 07/05/2012, 13:36
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 6 meses
Puntos: 528
Respuesta: mostrar item por defecto al cargar el formulario

No sé si no alcanzo a comprender tu problema, por la forma de redactar.

Yo entiendo lo siguiente:

1. Creas un select.
2. Quieres que tenga una opción por defecto.
3. ¿Dices que no aparece la opción por defecto a menos que se ponga el foco sobre el select?

De ser así no, el evento onchange no tiene nada que ver, aunque no estoy muy seguro de si es posible poner la primera opción comentada como indicas: <!--<option value='-1'>-Seleccione-</option>-->

Por otra parte te recomendaría verificar que no haya algún script (principalmente de js) que manipule tu select
  #6 (permalink)  
Antiguo 07/05/2012, 13:46
(Desactivado)
 
Fecha de Ingreso: marzo-2012
Mensajes: 108
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: mostrar item por defecto al cargar el formulario

la pongo como comentario porque ya la tengo mensionada dentro del php como
echo "<option value='-1'>Seleccione-></option>";

este es un select dependiente

un select dependiente es aquel que depende de un select anterior para llenar su contenido estos select pueden ser de 2 o mas y se nombran como select padre select hijo .

el problema que tengo es en el select hijo es decir
COMO MOSTRAR EL ITEM POR DEFECTO EN EL SELECT HIJO
  #7 (permalink)  
Antiguo 07/05/2012, 13:51
(Desactivado)
 
Fecha de Ingreso: marzo-2012
Mensajes: 108
Antigüedad: 12 años, 8 meses
Puntos: 1
problema para mostrar el item por defecto en el select hijo

hola
un select dependiente es aquel que depende de un select anterior para llenar su contenido estos select pueden ser de 2 o mas y se nombran como select padre y select hijo .

el problema que tengo es en el select hijo es decir
COMO MOSTRAR EL ITEM POR DEFECTO EN EL SELECT HIJO

Código PHP:
<tr>
        <td style="color:#EA1D24" width="40%" align="right" nowrap="nowrap">Sector<span class="campo_obligatorio">*</span></td>
        <td>
            <select name='sector' style='width:70%' onChange='this.form.submit()'> <!--onChange='this.form.submit()'-->
            <option value="-1">-Seleccione-</option>
                    <?php
                        $SQLconsulta_padre
="SELECT * FROM sectores";
                        
$consulta_padre mysql_query($SQLconsulta_padre,$link);
                        
                        while(
$registro_padre=mysql_fetch_array($consulta_padre)){

                            if (
$db_user["id_s"] == $registro_padre['idsector']){
                                echo 
"<option value=".$registro_padre['idsector']." selected>".$registro_padre['nom_corto']."</option>";
                            }else{
                                echo 
"<option value=".$registro_padre['idsector'].">".$registro_padre['nom_corto']."</option>";
                            }
                        }
                    
?>
            </select>
        </td>
     </tr>
    <tr>
        <td style="color:#EA1D24" width="21%" align="right" nowrap="nowrap">Sub-Sector<span class="campo_obligatorio">*</span></td>
        <td>
        <select name='subsector' id='subsector' style='width:90%'>
         <option value="-1">-Seleccione-</option>
        <?php
               
                 $SQLconsulta_hija
="SELECT * FROM subsectores WHERE relacion='$sector'";
                
$consulta_hija mysql_query($SQLconsulta_hija$link);
      
                if (
mysql_num_rows($consulta_hija) != 0){ //si el hijo tiene sector
                    
While   ($registro_hija=mysql_fetch_array($consulta_hija)){
                        
                            echo 
'<option value="'.$registro_hija["id"].'">'.$registro_hija["nombre"].'</option>';    
                    }
                }else{
                        echo 
"<option value=''> No hay registros para este Item </option>";
                }
            
?>
            </select>
        </td>
    </tr>
  #8 (permalink)  
Antiguo 07/05/2012, 14:26
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 6 meses
Puntos: 528
Respuesta: mostrar item por defecto al cargar el formulario

Sé qué es un select dependiente.

Si indicas cómo mandas a llamar tu select hijo, posiblemente sea más fácil ayudarte. Ya que si por html se refiere, no importa si el el select hijo, nieto o bisnieto, se puede indicar su opción seleccionada poniendo simplemente select en la opción requerida. Sin embargo, si creas o llenas el select mediante js por ejemplo por una llamada ajax, puedes hacer como indicó johnparradog, mediante jquery, aunque para algo tan simple se puede hacer con javascript puro y no sería más de una linea tampoco.
  #9 (permalink)  
Antiguo 07/05/2012, 14:38
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 6 meses
Puntos: 528
Respuesta: problema para mostrar el item por defecto en el select hijo

No abras nuevos temas, ya habías preguntado (aunque dando menos datos) en otro post.
Viendo la forma en que creas tus selects, la respuesta es simple, de la misma forma en que colocas la opción por defecto en el primer select. la pregunta es cómo o de dónde obtienes el valor por defecto para el select hijo, ya que para el padre la tienes en $db_user["id_s"] pero para el hijo no indicas punto de comparación
  #10 (permalink)  
Antiguo 07/05/2012, 15:21
(Desactivado)
 
Fecha de Ingreso: marzo-2012
Mensajes: 108
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: problema para mostrar el item por defecto en el select hijo

el punto de comparacion para el hijo es $db_user["id_sb"]
de esta forma ,, pero no muestra



Código PHP:
Ver original
  1. $SQLconsulta_hija="SELECT * FROM subsectores WHERE relacion='$sector'";
  2.                 $consulta_hija = mysql_query($SQLconsulta_hija, $link);
  3.      
  4.                 if (mysql_num_rows($consulta_hija) != 0){ //si el hijo tiene sector
  5.                     While   ($registro_hija=mysql_fetch_array($consulta_hija)){
  6.                         if ($db_user["id_sb"]==$registro_hija['id']){
  7.                             echo '<option value="'.$registro_hija["id"].'" selected>'.$registro_hija["nombre"]."</option>";
  8.                         }else{
  9.                             //echo '<option value="7">no hay nada</option>';
  10.                             echo '<option value="'.$registro_hija["id"].'">'.$registro_hija["nombre"].'</option>';
  11.                         }
  12.                     }
  13.                 }else{
  14.                         echo "<option value=''> No hay registros para este Item </option>";
  15.                 }
  #11 (permalink)  
Antiguo 07/05/2012, 15:30
(Desactivado)
 
Fecha de Ingreso: marzo-2012
Mensajes: 108
Antigüedad: 12 años, 8 meses
Puntos: 1
Respuesta: mostrar item por defecto al cargar el formulario

select padre ::
Código PHP:
Ver original
  1. <tr>
  2.         <td style="color:#EA1D24" width="40%" align="right" nowrap="nowrap">Sector<span class="campo_obligatorio">*</span></td>
  3.         <td>
  4.             <select name='sector' style='width:70%' onChange='this.form.submit()'> <!--onChange='this.form.submit()'-->
  5.             <option value="-1">-Seleccione-</option>
  6.                     <?php
  7.                         $SQLconsulta_padre="SELECT * FROM sectores";
  8.                         $consulta_padre = mysql_query($SQLconsulta_padre,$link);
  9.                        
  10.                         while($registro_padre=mysql_fetch_array($consulta_padre)){
  11.  
  12.                             if ($db_user["id_s"] == $registro_padre['idsector']){
  13.                                 echo "<option value=".$registro_padre['idsector']." selected>".$registro_padre['nom_corto']."</option>";
  14.                             }else{
  15.                                 echo "<option value=".$registro_padre['idsector'].">".$registro_padre['nom_corto']."</option>";
  16.                             }
  17.                         }
  18.                     ?>
  19.             </select>
  20.         </td>
  21.      </tr>


select hijo::

Código PHP:
Ver original
  1. <tr>
  2.         <td style="color:#EA1D24" width="21%" align="right" nowrap="nowrap">Sub-Sector<span class="campo_obligatorio">*</span></td>
  3.         <td>
  4.         <select name='subsector' id='subsector' style='width:90%'>
  5.          <option value="-1">-Seleccione-</option>
  6.         <?php
  7.            
  8.                 $SQLconsulta_hija="SELECT * FROM subsectores WHERE relacion='$sector'";
  9.                 $consulta_hija = mysql_query($SQLconsulta_hija, $link);
  10.      
  11.                 if (mysql_num_rows($consulta_hija) != 0){ //si el hijo tiene sector
  12.                     While ($registro_hija=mysql_fetch_array($consulta_hija)){
  13.                         if ($db_user["id_sb"]==$registro_hija['id']){
  14.                             echo '<option value="'.$registro_hija["id"].'" selected>'.$registro_hija["nombre"]."</option>";
  15.                         }else{
  16.                             echo '<option value="'.$registro_hija["id"].'">'.$registro_hija["nombre"].'</option>';
  17.                         }
  18.                     }
  19.                 }else{
  20.                         echo "<option value=''> No hay registros para este Item </option>";
  21.                 }
  22.            
  23.             ?>
  24.             </select>
  25.         </td>
  26.     </tr>

al iniciar el formulario donde estan estos dos select , en el padre muestra el item pero en el select hijo no lo muestra
solo aparece -Seleccione-

Etiquetas: defecto, formulario, hijo, item, mysql, registro, select, sql
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 21:25.