Array
(
)

Criar checkbox dinâmicas

PHP
Ayglon Fernando
   - 07 out 2013

Pessoal, não sei se isso entraria como PHP ou como javascript, mas é o seguinte:
Estou criando um Painel de Controle onde são permitidos múltiplos envios de fotos. Sendo assim, clico num checkbox e é aberta uma div com a opção de carregar uma foto e inserir um texto.
#Código

			function mostra_div(){
				if (document.getElementsByName('ch1').checked)
				{
					$('#item1').fadeIn('slow');
					
				}
				else
				{
					$('#item1').fadeOut('slow');
				}
			}

<input type="checkbox" value="teste" name="ch1" onchange="mostra_div();" id="ch1" />Mais itens
<div id="item1" style="height:200px; width:400px; background-color:#F00; display:none;"></div>

Aparece na tela assim:
[ ] Mais itens
E quando seleciono, aparecem:
[ Selecionar arquivo...] Carregar foto
[____________] texto dessa foto
Beleza, funciona perfeitamente bem. Porém como são múltiplos envios, teria que aparecer logo abaixo, de novo, uma checkbox que permita quando selecionada, fazer a mesma coisa, e assim por diante.
Basicamente, quando clico no checkbox, é necessário criar outra checkbox automática que faça a mesma coisa, e assim por diante, até quando o usuário não mais selecionar nenhuma checkbox. Como eu poderia fazer algo assim?
Lembrando ainda que, os nomes de selecionar fotos, checkbox e texto da foto devem estar como um array para que possam ser inseridos no BD.
Entenderam ou confundi?
Desde já agradeço!

Ayglon Fernando
   - 08 out 2013

Resolvido... fiz da seguinte maneira:

#Código

        <script type="text/javascript">
			var i=0;
			function add(){
				if (document.getElementById('check'+i).checked) 
				{   
					i++;  
					var title = 'Mais itens';
					var node = document.createElement('div');
					node.innerHTML =  '<label for="upload' + i + '">Foto Extra '+ i +'</label> <input type="file" id="file' + i + '" name="file' + i + '"><br /><br /><label for="texto' + i + '">Texto Extra '+ i +'</label> <textarea id="texto' + i + '" name="texto' + i + '"></textarea><br /><br /><input type="checkbox" id="check' + i + '" name="check' + i + '" onchange="add();"> <label for="check' + i + '">Mais itens</label>';       
					
					document.getElementById('conteudo').appendChild(node);
				}
			}		
		</script> 


e dentro do checkbox fiz:

#Código
<input type="checkbox" value="teste" name="ch1" onchange="add();" id="check0" />Mais itens

0
|
0