Ir para conteúdo

POWERED BY:

Arquivado

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

jowe

criar Div Dinamico

Recommended Posts

Pessoal,

 

eu gostaria de saber se existe como eu acessar uma div criada dinamicamente através de javascript.

 

Exemplo.

 

digamos que eu tenha o seguinte código html

 

<form name="Form1" action="" method="post">
		  <table width="292" border="0" id="Tabela">
			   <tr>
					<td width="15"  id="tcle">1</td>
					<td width="116">
		<div id="Combo1">
				 <select name ="combo1">
		   <option value="99">Selecione um Item</option>
		   <option value="1">Item 1</option>
		   <option value="2">Item 2</option>
		   <option value="3">Item 3</option>
		  <option value="4">Item 4</option> 
					   </select>
   	 </div>
				 </td>
				 </tr>
			 </table>

agora, ao clicar no botão CriarCombo

 

eu crio uma DIV e incluo nessa div um ID e um <selec>

após isso chamo uma outra função que ´e carregaCombo

a função carrega combo deveria conseguir ler o meu div criado dinamico mas ela não consegue da erro, se eu criar uma div simulando uma criação dinamica funciona o código ....

 

CarregaCombo

var tDivName = 'Combo' + linha; 
document.getElementById(tDivName).innerHTML = tCombo;

Alguém sabe como posso recuperar uma div criada dinamicamente em outra função ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

deve ter como usando um for e um contador.

 

tipo a primeira é div[0], ia você poe no codigo div[1], div[2], etc.

Mas ai teria que armazenar num array eu acho neh?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos lá .... Como estou so testando criei itens fixos

 

 

<script language="javascript" type="text/javascript">
var tOptionCombo 	= "";
var count			= 1;
	
var combos = new Array();
combos.length = 1;
	
// Option value da combo carregada do banco de dados
	tOptionCombo += "<option value='";
	tOptionCombo += "1'>";
	tOptionCombo += "Item 1"
	tOptionCombo += "</option>";	
	tOptionCombo += "<option value='";
	tOptionCombo += "2'>";
	tOptionCombo += "Item 2"
	tOptionCombo += "</option>";	
	tOptionCombo += "<option value='";
	tOptionCombo += "3'>";
	tOptionCombo += "Item 3"
	tOptionCombo += "</option>";	
	tOptionCombo += "<option value='";
	tOptionCombo += "4'>";
   tOptionCombo += "Item 4"
   tOptionCombo += "</option>";	

// Função para carregar a combo
function carregaCombo(linha) 
{
	var row = linha;
	row = linha+1;
	
	var tCombo = "<select name='combo" + linha + "' onchange='carregaCombo(	" + (row) + ")' style='width: 150px;'>";
	tCombo += "<option value='" + 99 + "' selected>Selecione um Item</option>";
	tCombo += tOptionCombo;
	tCombo += "</select>";
	
var tDivName = 'Combo' + linha; 
document.getElementById(tDivName).innerHTML = tCombo;
var tObj = eval("document.Form1.Combo"+linha);
}
</script>

 

HTML

 

<body>
<form name="Form1" action="" method="post">
<p>Teste de Combo:</p>
  <table width="292" border="0" id="Tabela">
	<tr>
	  <td width="15"  id="tcle">1</td>
	  <td width="116">
	  <div id="Combo1">
		<select name		="combo1">
		   <option value="99">Selecione um Item</option>
		   <option value="1">Item 1</option>
		   <option value="2">Item 2</option>
		   <option value="3">Item 3</option>
		   <option value="4">Item 4</option> 
						</select>
   	 </div>
	  </td>
   </tr>
  </table>
</form>
</body>
</html>

assim não funciona ....

 

agora se eu incluir o div fixo funciona

 

<body>
<form name="Form1" action="" method="post">
<p>Teste de Combo:</p>
  <table width="292" border="0" id="Tabela">
	<tr>
	  <td width="15"  id="tcle">1</td>
	  <td width="116">
	  <div id="Combo1">
		<select name		="combo1"
				onchange	= "carregaCombo(2)"  >
				<option value="99">Selecione um Item</option>
				<option value="1">Item 1</option>
				<option value="2">Item 2</option>
				<option value="3">Item 3</option>
				<option value="4">Item 4</option> 
		</select>
   	 </div>
	  </td>
   </tr>
	<tr>
	  <td width="15"  id="tcle">1</td>
	  <td width="116">
	  <div id="Combo2">
   	 </div>
	  </td>
   </tr>
  </table>
</form>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

não achei em nenhuma parte do teu código onde tu cria a div dinamicamente.

e se tu sempre vai carregar a combo dentro da div criada dinamicamente tu pode não precisa criar ela primeiro para depois inserir o código

 

poderia fazer algo do tipo:

 

var objDiv = document.createElement('div');
objDiv.innerhtml = tCombo;

e depois colocaria a div em uma nova linha da tabela

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.