selectItem está vindo com o value false como default
8 respostas
J
JeffersonJCosta
Pessoal,
Tenho um selectOneMenu com três selectItem, não gostaria que nenhum desses itens viesse marcados como default, ou seja, não queria nenhum com selected ativado, mas inexplicavelmente, o item que tem como value false está sempre vindo como default (está sempre vindo marcado). Como resolver isso?
Código:
<p:selectOneMenuid="ativo"value="#{setorController.setor.ativo}"required="true"requiredMessage="Por favor, informe se o setor está ativo."><f:selectItemitemValue=""itemLabel="Selecione..."/><f:selectItemitemValue="true"itemLabel="Sim"/><f:selectItemitemValue="false"itemLabel="Não"/></p:selectOneMenu>
Como dá para ver no HTML a opção de Não (false) está como selected, sendo que eu não coloquei isso e não quero isso. Como faço para essa opção não vir marcda ou como faço para que outra opção seja a default?
<p:selectOneMenu id="ativo" value="#{setorController.setor.ativo}" required="true" requiredMessage="Por favor, informe se o setor está ativo.">
<f:selectItem itemValue="" itemLabel="Selecione..." selected="true"/>
<f:selectItem itemValue="true" itemLabel="Sim"/>
<f:selectItem itemValue="false" itemLabel="Não"/>
</p:selectOneMenu>
M
Marlon_Meneses
provavelmente no seu bean o atributo esta iniciado como false e é do tipo primitivo, o que nao permite nulo.
no caso faça
private Boolean ativo;
get e set
K
kleberdamasco
porque vc não usa o p:selectBooleanCheckbox ?
M
Marlon_Meneses
bem lembrado…
tem o booleanbutton tambem
J
JeffersonJCosta
Pessoal,
Obrigado pelos retornos.
Respondendo a todas as sugestões:
Colocar o selected=true dentro da tag f:selectItem não funciona, já tinha tentado isso.
-No meu bean não tenho nada que inicie o atributo como false, assim como no BD, que também não tem valor padrão, já tinha visto isso. Segue o código do meu BEAN;
Obrigado pela sugestão, vou ver se mudo para p:selectBooleanCheckbox, tinha esquecido disso.
Já posto o retorno.
Desde já agradeço.
Só mais uma dúvida: caso eu quisesse setar no meu bean o value null ou value true como default, para vir selecionado no combobox, como faria?
J
JeffersonJCosta
Pessoal,
Tentei com p:selectBooleanButton e também com p:selectOneRadio. Nos dois casos o Não (false) veio como default também. Não gostaria de usar o p:selectBooleanCheckbox, porque a maioria dos usuários ai esquecer de clicar em cima ("checar) quando quiser que ele fique ativo. Um dos motivos de eu ter optado por selectOneMenu foi esse, assim o usuário teria mais facilidade para escolher Sim ou Não, e eu saberia se ele selecionou ou não, além disso, vindo algum valor como padrão,o usuário vai sempre esquecer de alterar e vai salvar com erro, ou seja, vai vir como default false, mas era pra ser true, o usuário não vai lembrar de alterar isso e vai salvar normalmente, futuramente vou ter problemas com isso. Com o selectOneMenu, eu traria o value null como default e obrigaria sempre o usuário a escolher a opção relamente correta e que deseja. Entenderam?
K
kleberdamasco
é só vc inicializar ele no construtor como true, que vai vir sempre marcado.
J
JeffersonJCosta
Então kleberdamasco, valeu pela ajuda, eu fiz isso. O problema é que o atributo ativo é boolean, só aceita true ou false, então eu vou ter sempre um desses valores como default, não tem como eu setar esse atributo com null, para que a opção “Selcione…”, venha marcada no selectOneMenu, com isso o usuário pode relaxar e salvar algo como ativo, quando na verdade não era, e vice-versa, entendeu?