Olá tudo bem?? Estou a fazer uma aplicação em jsf… e cheguei a uma pagina .jsp contendo uma lista(datamodel) esta lista contem uma coluna de valores que precisa ser formatada, porém, ao inserir uma função javascript nesta lista, esta função (qualquer q seja) não é sequer executada. cá está o trecho do codigo onde esta a lista…
[code]<h:panelGrid columns=“1” styleClass=“geral” cellpadding=“0” cellspacing=“0”>
<f:facet name=“header”>
<h:panelGroup>
<f:verbatim>› </f:verbatim>
<h:outputText value="#{titulo[‘lista_de_lancamentos’]}" />
</h:panelGroup>
</f:facet>
<t:div style="#{boletimArrecadacaoDiariaBean.divStyle}" >
<t:dataTable var="especificacaoLista" binding="#{boletimArrecadacaoDiariaBean.dataModel}">
<h:column>
<f:facet name="header">
<h:outputText value="" />
</f:facet>
<h:selectBooleanCheckbox id="selectedEspecificacoes"
value="#{especificacaoLista.check}" styleClass="chk" />
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="#{tabela['numero_especificacao]}" />
</f:facet>
<h:outputText value="#{especificacaoLista.especificacao}"styleClass="left" />
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="#{tabela['quantidade']}" />
</f:facet>
<h:inputText value="#{especificacaoLista.quantidade}" styleClass="right">
</h:inputText>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="#{tabela['valor']}" />
</f:facet>
<h:inputText value="#{especificacaoLista.valor}" styleClass="right" id="valorLista" onkeyup="formataValorLista();"/>
</h:column>
</t:dataTable>
</t:div>
</h:panelGrid> [/code]
E abaixo minha função javascript para formatar o numero…
function formataValorLista(){
var campo = document.getElementById("valorLista");
var vetor = campo.value.split(".");
var algarismos = "";
var depoisDaVirgula="";
var x = 0;
// neste ponto apenas foram retirados os pontos, o proximo passo ? retirar a virgula
for(x = 0;x < vetor.length;x++){
algarismos = algarismos+vetor[x];
}
// retirando a virgula;
for(x = 0; x<algarismos.length; x++){
if(algarismos.charAt(x)==","){
algarismos = algarismos.substring(0,x) + algarismos.substring(x+1,algarismos.length);
}
}
// caso tenha apenas 2 algarismo ele ser? X,X como na formata??o padr?o utilizada
if(algarismos.length == 2){
algarismos = algarismos[0] + "," + algarismos[1];
}else if(algarismos.length > 2){
depoisDaVirgula = ","+algarismos.substring(algarismos.length-2,algarismos.length);
algarismos = algarismos.substring(0,algarismos.length-2);~
x = 0;
for(y = algarismos.length-1; y > 0; y--){
if(x==2){
algarismos = algarismos.substring(0,y) +"."+algarismos.substring(y,algarismos.length);
y--;
}
x++;
}
}
campo.value = algarismos + depoisDaVirgula;
}
Alguem sabe o pq isso ocorre?? Há alguma maneira de se usar javascript na minha datamodel(HtmlDataTable)??
desde já agradeço.