Pessoal,
Tenho o seguinte código:
<h:inputHidden
id="cityId"
value="#{city.id}"/>
<h:inputText
id="city"
size="50"
required="true"
maxlength="60"
value="#{city.name}"/>
<rich:suggestionbox
var="c"
for="city"
id="suggestCity"
minChars="3"
bgcolor="#FFFFFF"
onsubmit="_loading(true)"
oncomplete="_loading(false)"
timeout="2000"
suggestionAction="#{accountAction.suggestionCity}"
height="200"
width="260">
<h:column>
<h:outputText value="#{c.name}"/>
</h:column>
</rich:suggestionbox>
Gostaria de saber como eu faço para ao selecionar um item da suggestion e ela me setar o valor no campo hidden. Ela é uma suggestion de cidades e gostaria que ela setasse o valor do city.id no campo hidden ali acima.
Consegui uma maneira de setar o valor.
Basta setar o seguinte código na suggestion:
onobjectchange="setCityId(suggestion)"
usingSuggestObjects="true"
E fazer o seguinte javascript:
function setCityId(suggestionBox) {
var items = suggestionBox.getSelectedItems();
if (items.length > 0) {
jq("input[id$='cityId']").val(items[0].id);//jQuery setando o valor no campo hidden
}
}
Olá irmão !
Uma sugestão que resolveria tambem, porem sem a necessidade do uso de javascript, seria o trecho abaixo:
<rich:suggestionBox
var=“produto"
fetchValue=”#{produto.descricao}“
suggestionAction=”#{produtoAction.autocompletar}">
<h:column>
<h:outputText value="#{produto.nome}" />
</h:column>
<a4j:support event=“onselect”>
<f:setPropertyActionListener
value="#{produto.codigo}“
target=”#{produtoSession.idProduto}"/>
</a4j:support>
</rich:suggestionBox>
Espero ter ajudado.
Fica com Deus.
Atenciosamente,
André Tricano.
[quote=tricano]Olá irmão !
Uma sugestão que resolveria tambem, porem sem a necessidade do uso de javascript, seria o trecho abaixo:
<rich:suggestionBox
var=“produto"
fetchValue=”#{produto.descricao}“
suggestionAction=”#{produtoAction.autocompletar}">
<h:column>
<h:outputText value="#{produto.nome}" />
</h:column>
<a4j:support event=“onselect”>
<f:setPropertyActionListener
value="#{produto.codigo}“
target=”#{produtoSession.idProduto}"/>
</a4j:support>
</rich:suggestionBox>
[/quote]
Pois é, eu tentei essa opção mas não surtil efeito. Estranhei, dai passei a usar a do javascript.
Valeu!
Pra ser sincero irmão, eu utilizo e está funcionando direitinho. Talvez seja alguma biblioteca do componente com bug que talvez tenha sido corrigido.
Espero ter ajudado.
Fica com Deus irmão.
[quote=tricano]Pra ser sincero irmão, eu utilizo e está funcionando direitinho. Talvez seja alguma biblioteca do componente com bug que talvez tenha sido corrigido.
Espero ter ajudado.
Fica com Deus irmão.[/quote]
Tu estas usando o Seam nessa tua aplicação? Estou usando seam aqui. E outra, o escopo do bean que estou usando é EVENT(request).
[quote=giulianocosta][quote=tricano]Pra ser sincero irmão, eu utilizo e está funcionando direitinho. Talvez seja alguma biblioteca do componente com bug que talvez tenha sido corrigido.
Espero ter ajudado.
Fica com Deus irmão.[/quote]
Tu estas usando o Seam nessa tua aplicação? Estou usando seam aqui. E outra, o escopo do bean que estou usando é EVENT(request).[/quote]
Não estou utilizando Seam. Meu bean tem o mesmo escopo.
Mas qual erro é exibido ? O que acontece ?
Olá Pessoal,
Sei que o problema já foi resolvido, mas estava com o mesmo problema agora, e consegui resolver sem usar javascript, do mesmo jeito que o tricano falou, só que tive que acrescentar o reRender=“idPerfilUsuario” para renderizar o meu id.
Fazendo isso funcionou blz.
Abraço!
Colegas estou com esse problemas porém não consigo utilizar a solução citada.
Quando tento utilizar
<f:setPropertyActionListener
value="#{produto.codigo}"
target="#{produtoSession.idProduto}"/>
não consigo pois não existe setPropertyActionListener como opção para utilizar ou seja, digito f: porém setPropertyAction… não está na relação.
O que devo atualizar para conseguir aplicar tal solução?
Grato!
Utilize a versão 1.2 do JSF
[quote=giulianocosta][quote=tricano]Olá irmão !
Uma sugestão que resolveria tambem, porem sem a necessidade do uso de javascript, seria o trecho abaixo:
<rich:suggestionBox
var=“produto"
fetchValue=”#{produto.descricao}“
suggestionAction=”#{produtoAction.autocompletar}">
<h:column>
<h:outputText value="#{produto.nome}" />
</h:column>
<a4j:support event=“onselect”>
<f:setPropertyActionListener
value="#{produto.codigo}“
target=”#{produtoSession.idProduto}"/>
</a4j:support>
</rich:suggestionBox>
[/quote]
Pois é, eu tentei essa opção mas não surtil efeito. Estranhei, dai passei a usar a do javascript.
Valeu![/quote]
Fiz uns testes e funcionou, mas para isso eu precisei usar keepAlive do ajax4jsf, acredito que o MBean dele esteja com scopo de sessão!!!