2011-03-17 35 views
24

¿Cómo hacer la selección predeterminada para <f:selectItem> dentro de <h:selectOneMenu>?Selección predeterminada para <f: selectItem> dentro de <h: selectOneMenu>

Se necesita, ese elemento "20" del menú desplegable que ya debe estar seleccionado cuando se carga la página.

<h:selectOneMenu value="#{fileSearchCriteriaOut.recordsPerPage}" >    
       <f:selectItem itemLabel="5" itemValue="5" /> 
       <f:selectItem itemLabel="10" itemValue="10" /> 
       <f:selectItem itemLabel="20" itemValue="20" selected="true"/> 
    </h:selectOneMenu> 

estos cuatro no funcionan:

<f:selectItem itemLabel="20" selected="true"/> 
<f:selectItem itemLabel="20" selected="selected"/> 
<f:selectItem itemLabel="20" checked="checked"/> 
<f:selectItem itemLabel="20" checked="true"/> 

Respuesta

39
<h:selectOneMenu id="items" value="#{MyBean.selectedItem}"> 
    <f:selectItem itemLabel="10" itemValue="10"/> 
    <f:selectItem itemLabel="20" itemValue="20"/> 
    <f:selectItem itemLabel="30" itemValue="30"/> 
</h:selectOneMenu> 

La selección por defecto sería el que tiene un valor igual a selectedItem.

+0

En mi humilde opinión, creo que necesita un atributo itemValue en los selectItems? –

+0

parece que no veo su punto), mencioné el elemento combinado seleccionado por defecto cuando .xhtml cargó – sergionni

+3

[Allí] (http://myfaces.apache.org/core11/myfaces-impl/tlddoc/f/selectItem.html) no es ese atributo, necesita volver a leer lo que he respondido –

4

Inicializa el recordsPerPage en tu bean de respaldo.

a partir del código fuente que se supone que tiene un grano FileSearchCriteriaOut y su recordsPerPage es una String, a continuación, puede hacer lo siguiente en el constructor del frijol:

public FileSearchCriteriaOut() { 
    recordsPerPage = "20"; 
} 

Para el facelet se refieren a la respuesta de Jigar Joshi.

-2
<div class="row"> 
    <div class="form-group col-md-6"> 
     <label for="sexo"><span class="obligatorio">#{messageSource['etiqueta_requerido']}</span> #{messageSource['etiqueta_estatus']} 
     </label> 
     <p:selectOneRadio 
      id     = "status" 
      required   = "true" 
      requiredMessage  = "#{messageSource['mensaje_validacion_datoRequerido']}" 
      value="#{mbUnidadDeMedida.dtoUnidadDeMedida.estatus}" 
     > 
      <f:selectItem itemLabel="#{messageSource['etiqueta_activo']}" itemValue="1" /> 
      <f:selectItem itemLabel="#{messageSource['etiqueta_inactivo']}" itemValue="0" /> 
     </p:selectOneRadio> 
    </div> 
</div> 
+1

¿Por qué repite una respuesta ya dada? – BalusC