En este grupo En todos

Foro de Struts

Recuperar valor del html:Select

marco
Michoacán, México
Escrito por Marco Hurtado
el 16/04/2007

<html:select name="listconcguias" property="listConcGuias" size="8"
                         value="cveconcepto">
           <html:options collection="act_listaconceptosguia"
                          property="cveconcepto" labelProperty="descconcepto"/>

</html:select>

Tengo este combo que me muestra un lista de regsitros que extraje de una BD, selecciono uno de ellos y me voy con un boton a un acction, como recupero el registro o el valor del registro que seleccione dentro de la accion?

Hugo Hidalgo
Estado de México, Mé...
Escrito por Hugo Hidalgo
el 17/04/2007

Hola, checate el ejemplo de los combos del siguiente link en este mismo foro y te daras cuenta que te hace falta el value dentro de la tag options

http://foros.emagister.com/tema-ayuda_con_dos_combos_en_struts-43244-412274. Htm

Saludos

Marco Hurtado
Michoacán, México
Escrito por Marco Hurtado
el 17/04/2007
El problema es que no estoy usando html:optionsCollections... Estoy usando html:options... Y no tiene el value... Al usar el Collection no pueso obtener el combo
Hugo Hidalgo
Estado de México, Mé...
Escrito por Hugo Hidalgo
el 17/04/2007

Marco dijo<cita>al usar el Collection no pueso obtener el combo. </cita>

 No entendi esta parte a que te refieres?

Saludos

Marco Hurtado
Michoacán, México
Escrito por Marco Hurtado
el 17/04/2007
En el ejemplo que tu me das usas html:optioncollection   pero yo estoy usando html:options   para llenar el combo... Si me funciona bien mi pregunta es como recupero el valor del combo en mi accion...
Hugo Hidalgo
Estado de México, Mé...
Escrito por Hugo Hidalgo
el 17/04/2007

Pues para recuperar el action el valor seleccionado del combo es forsozamente necesario recuperar un value porque sino es asi como sabrias que id selecciono el usuario?

Saludos

Marco Hurtado
Michoacán, México
Escrito por Marco Hurtado
el 17/04/2007
Tienes toda la razon, gracias.. No lo comprendia bien pero ahora si, ahora tengo otra duda, cuando el usuario selecciona una opcion de un combo, esta me manda a una funcion de jabascrip que a su vez me manda a una accion, pero al regresar de esta accion el valor del combo regresa al primer dato de la lista, que tengo que hacer para que el usuario vea la opcion que selecciono del combo.... GRACIAS
Hugo Hidalgo
Estado de México, Mé...
Escrito por Hugo Hidalgo
el 17/04/2007

OK, pues lo que debes hacer es lo siguiente:

1. -Obtienes la coleccion el el action

2. -Despliegas el combo en la jsp

3. -El usuario selecciona opcion del combo

4. -Envias al action el id seleccioando

5. -Realizas la logica de negocio que necesitas con ese id

6. -Cargas en la forma nuevamente la colección y realizas un set a la forma con el id que selecciono el usuario (esto con la finalidad de no perder el valor que selecciono)

7. -Guardas la forma el el request

8. -Despliegas la jsp y ahi tu no tienes que hacer nada extra ya que como traeras el valor value del combo el html se cargara en automático


Saludos

Majo
Valencia, España
Escrito por Majo
el 10/05/2007

Hugo, no entiendo qué quieres decir cuando pones:

6. -Cargas en la forma nuevamente la colección y realizas un set a la forma con el id que selecciono el usuario (esto con la finalidad de no perder el valor que selecciono)

7. -Guardas la forma el el request

8. -Despliegas la jsp y ahi tu no tienes que hacer nada extra ya quecomo traeras el valor value del combo el html se cargara en automático

En la clase puedo hacer un set a la property del select?

Saludos

Escrito por Enara Marcos González
el 13/08/2007

Buenas, tengo el mismo problema pero no se como solucionarlo.

Tengo una tabla que en una columna tengo combos y queiro k al cambia run combo coger el valor y guardarlo en una variable de session.

Te lo muestro:

<table width="687" border="1" id="tablaCestaCompra">
            <tr>
              <td width="138" align="center">tipo Producto</td>
                  <td width="117" align="center">id Producto</td>
                  <td width="128" align="center">precio venta</td>
                  <td width="170" align="center">unidades</td>
                  <td width="100" align="center">eliminar</td>
                </tr>
            <%
Iterator it=vectorSession. Iterator();
Vector vArticulo;
String sElemento;
JCheckBox boxEliminar;
int numFila=0;
while (it. HasNext()) {
vArticulo=(Vector)it. Next();

%>
            <tr align="center" id<%=numFila%>>
              <td><%=(sElemento = (String)vArticulo. ElementAt(0))==null || vArticulo. IsEmpty())? "":sElemento)%> </td>
    <td><%=(sElemento = (String)vArticulo. ElementAt(1))==null || vArticulo. IsEmpty())? "":sElemento)%> </td>
    <td align="center"><%=(sElemento = (String)vArticulo. ElementAt(2)))==null || vArticulo. IsEmpty())? "":sElemento)%> </td>
    <td align="center"><select name="listaUnidades" id="listaUnidades" onchange="<%
 Vector vectorSession2=(Vector)session. GetAttribute("vectorCestaCompra");
 cestaCompra cc=new cestaCompra();
 session. SetAttribute("vectorCestaCompra",(Vector) cc. GuardarUnidades(listaUnidades. Value,listaUnidades. Tr,vectorSession2));%>">
   
      <option value="1"<%if(String)vArticulo. ElementAt(3)=="1"){%> selected="selected"<%}%>>1</option>
      <option value="2"<%if(String)vArticulo. ElementAt(3)=="2"){%> selected="selected"<%}%>>2</option>
      <option value="3"<%if(String)vArticulo. ElementAt(3)=="3"){%> selected="selected"<%}%>>3</option>
      <option value="4"<%if(String)vArticulo. ElementAt(3)=="4"){%> selected="selected"<%}%>>4</option>
      <option value="5"<%if(String)vArticulo. ElementAt(3)=="5"){%> selected="selected"<%}%>>5</option>
     
      </select>
      </td>
    <td align="center"><input type="checkbox" name="checkEliminar" id="checkEliminar" /></td>
            </tr>
            <%
   numFila=numFila+1;
}
%>
          </table>

Responder

Debe cumplir las normas de contenido y normas de conducta

Al escribir en el debate:

  1. Repasa la ortografía y no escribas en formato SMS.
  2. Lee el texto dos veces antes de publicar.
  3. No escribas todo en mayúsculas o negritas.