Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

-_KIKO_-

Especie de calendario,

Recommended Posts

Pessoal, tengo uma pagina com todos dos dias de um mes (calendario)

E é assim, quando o usuario clica no numero, a <TR> que esta atras muda de cor e quando ele clica denovo, a <TR> volta na cor original

 

Mas agora eu to precisando armazenar todos os cliques do usuario que ficam com a cor alterada (primeiro clique)

 

Assim, o usuario clica no dia 10, dai o dia 10 vai pra uma variavel ou INPUT do documento.

Dia 10 clicado

<input type="hidden" value="10" id="dias">

 

simplesmente eu colocaria lá document.getElementById('dias').value = '10';

 

PORÉM a minha duvida principal é essa, e se o usuario DESCLICAR (clicando novamente no dia, ele teria que sumir dessa input hidden) ?????

 

Lembrando que seria mais de 1 dia que pode ser selecionado...

E os dias devem estar separados por virgula na input ...

 

Como eu faria isso???

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

<script>

function pegaClick(input,valor)
{
if (document.getElementById(input).value = valor)
{
document.getElementById(input).value = valor;
}
else
document.getElementById(input).value = "".
}
}
</script>

Ai no campo onde estáo número, você faz assim:

 

<input value = "dia 10" onclick = "pegaClick('dia10','10')">
<input id = "dia10" type = "hidden" value = "">

Abraços...

 

EDIT

 

Eu tinha escrito essa resposta no outro tópico.. ai quando fui postar...... erro na cara.. ¬¬

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi DarkDemo, cara essa ideia nao rola muito também

Eu tentei assim olha

 

<script>

function setadia(dia,idc) {

clicked = 0;

if (document.getElementById(idc).bgColor == '#ffffff' && clicked == 0) {

document.getElementById(idc).bgColor = '#cfcfcf';

if (document.getElementById('ferias').value == '') {

document.getElementById('ferias').value = document.getElementById('ferias').value + dia;

} else {

document.getElementById('ferias').value = document.getElementById('ferias').value + ','+ dia;

}

 

clicked = 1;

}

 

if (document.getElementById(idc).bgColor == '#cfcfcf' && clicked == 0) {

document.getElementById(idc).bgColor = '#ffffff';

var diascontados = document.getElementById('ferias').value;

document.getElementById('ferias').value = diascontados.replace(eval("/" + dia + ",/"), '');

document.getElementById('ferias').value = diascontados.replace(eval("/," + dia + "/"), '');

clicked = 1;

}

 

}

</script>

 

 

Soh que assim é f***, porque se o cara coloca dia 1,10,11,21,31 na lista, dai ele vai remover o dia 1 da lista, ele remove o dia 1,10,11,21,31 e dai o resultado fica assim: ,0,2,3

entende??

Ele arranca o 1 de todos valores...

 

Andreia, pode ajudar com a sua ideia?

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você fizer EXATAMENTE como eu fiz no exemplo.. esse erro nao ocorre....

 

Se você selecionar 1,10,11,21,31, e remover o 1, ele só removerá o 1, e não os outros....

 

Pq ele irá verificar se o valoré EXATAMENTE igual ao selecionado.... e nao se é uma "parte" dele..

 

 

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas dai no caso você taria usando um Input para cada dia do calendario nao estaria?

 

A ideia é guardar tudo numa input e com todos os dias selecionados separados por virgula

 

Como sera que faço?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ai no caso você vai ter q criar uma Array com todo sos valores que estão separados pela virgula, e remover o valor clicado da Array, ai o que sobrar você coloca de volta na input...

 

Abraços....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja esse exemplo que fiz pra você...

 

<script language="javascript" type="text/javascript">
var teste = "l,a,l,e,l,t,o,o,i,a";
var valores = teste.split(",");

for (i=0;i < valores.length; i++)
{
if( valores[i] == "a")
{
alert("Olá");
}

if( valores[i] == "l")
{
alert("Hehe");
}
}

</script>

 

A partir dai da pra você pode ter uma idéia....

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.