Ir para conteúdo

Arquivado

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

Igor FV

Pegar id de campo dinamico com JQuery...

Recommended Posts

Bom dia amigos,

 

Estou tentando pegar o id de um campo text que está dentro de um vetor usando JQuery, mas não consigo. Já tentei de tudo e nada.

 

Tenho um JS que cria linhas em um form com alguns campos text atraves de um btn... Quero pegar por exemplo o id do campo text qtdItem1, mas nao consigo. Abaixo segue o codigo...

 

<form id="estoqueForm" onsubmit="return validaForm();" method="post" action="" name="estoqueForm">  
		<input id="add_input" type="button" onclick="addInput(); numeraitem();" name="add_input" value=" + "/>  
			<table cellspacing="0" id="itensForm" cellpadding="0" bordercolor="#999999" border="1" bgcolor="#ffffff" width="550">  
				<tbody>  
					<tr>  
						<td id="camposTexto">  
							<div id="linha1">  
								<input id="valorTotalItemHidden1" type="hidden" value="" name="valorTotalItemHidden"/>  
								<input id="numItem1" class="text" type="text" value="" size="3" name="numItem"/>  
							   <input id="codProduto1" class="text" type="text" value="" size="8" name="codProduto"/>  
							   <input id="nomeProduto1" class="text" type="text" value="" size="22" name="nomeProduto"/>  
							   <input id="unid1" class="text" type="text" value="" size="3" name="unid"/>  
							   <input id="qtdItem1" class="text" type="text" value="" size="5" name="qtdItem"/>  
							   <input id="valorUnitario1" class="text" type="text" onblur="multiplica();" value="" size="8" name="valorUnitario"/>  
							   <input id="valorTotalItem1" class="text" type="text" readonly="true" value="" size="11" name="valorTotalItem"/>  
							   <input class="botao" type="button" onclick="removeInput(1); numeraitem(); multiplica();" value=" - "/>  
						   </div>  
						   <div id="linha2">  
							   Outros inputs da linha 2...  
						   </div>  
						   <div id="linha3">  
							   Outros inputs da linha 3...  
						   </div>  
					   </td>  
				   </tr>  
				   <tr>  
				   </tr>  
			   </tbody>  
		   </table>  
  </form>

Na JSP que tenho o codigo acima, tento pegar o id do campo qtdItem1 desta forma, mas nao consigo e tb nao dá erro. O que está errado???

 

 

<script type="text/javascript">  
  
 $(document).ready(function() {  
 $("input:text[name^='qtdItem1']")  
   
 .click(function(){			 
			 alert('Ola Mundo!');  
		 });  
	 });  
   
</script>

Obrigado amigos...

 

 

Vlw...

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara você está buscando com o name='qtdItem1' sendo que o nome dele é qtdItem...

 

ou você troca name por id ai funciona...

 

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola amigo Otata, tentei da forma que você falou, mas não funfa... acho que o JQuery não está conseguindo ler o elemento q foi criado dinamicamente atraves de um JS...

 

 

Tentei desta forma, mas nao foi...

 

$(document).ready(function() {  
	$("input:text[name^='qtdItem']") 
  
			  .click(function(){			 
			 	alert('Ola Mundo!');
		 });  
	 });

Mas quando coloco o name de um camo que ja existe no form, ou seja q nao é criado de forma dinamica, ai funfa... Como posso pegar este elemento input text que foi criado dinamicamente pelo ID???

 

Vlw amigo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

aqui ta indo..

 

$(document).ready(function() {
	$("input:text[name^='qtdItem']")  
		.click(function(){			
			alert('Ola Mundo!');  
			});  

});

for(i=0;i<3;i++){
	var  input = document.createElement('input');
	input.type = 'text';
	input.name = 'qtdItem'+i;
	input.id = 'qtdItem'+i;
	
	document.documentElement.appendChild(input);
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo Otata, estou criando as linhas do form da forma abaixo, então terei q mudar o meu codigo pelo seu ne??

 

<script type="text/javascript">   
//Não altere esses valores!
//Baseado no código postado em: http://forum.imasters.com.br/index.php?showtopic=325267
var iCount = 1;
var iCampos = 1;

//Definindo quantos campos poderão ser criados (máximo);
var iCamposTotal = 15; 

//Função que adiciona os campos;
function addInput() {   
	if (iCampos <= iCamposTotal) {
		
		var texto = "<div id='linha"+iCount+"'><input type='hidden' name='valorTotalItemHidden' id='valorTotalItemHidden"+iCount+"' value=''><input type='text' name='numItem' id='numItem"+iCount+"' size='3' value=''class='text' readonly='true'> <input type='text' name='codProduto' id='codProduto"+iCount+"' size='8' value='' class='text' readonly='true'> <input type='text' name='nomeProduto' id='nomeProduto"+iCount+"' size='22' value=''class='text' readonly='true'> <input type='text' name='unidProduto' id='unidProduto"+iCount+"' size='3' value=''class='text' readonly='true'> <input type='text' name='qtdItem' id='qtdItem"+iCount+"' size='5' value='' class='text'> <input type='text' name='valorUnitario' id='valorUnitario"+iCount+"' size='8' value='' onblur='multiplica();' class='text'> <input type='text' name='valorTotalItem' id='valorTotalItem"+iCount+"' size='11' value='' readonly='true' class='text'>     <input type='button' value=' - ' onClick='removeInput("+iCount+"); numeraitem(); multiplica();' class='botao'>      <a href='#' onClick='sendLinha("+iCount+"); remoteProduto();'><img src='imagens/jpg/lupa.jpg' title='Selecionar produto' border='0'/></a></div>";	  
	  
		//Capturando a div principal, na qual os novos divs serão inseridos:
		var camposTexto = document.getElementById('camposTexto');   
		camposTexto.innerHTML = camposTexto.innerHTML+texto;
 
	iCount++;
	iCampos++;
	}   
}

Existe a possibilidade de eu conseguir pegar o id do campo qtdItem que foi criado pelo meu codigo com JQUERY?

 

Você poderia me passar o seu msn para eu te adiciona aq? claro q se você quiser amigo...rs

 

Preciso criar estes campos dentro de da div camposTexto...

 

Vou tentar adaptar seu codigo de criação de campos no meu... mas enquanto tento você poderia tentar adapta-lo tb... ???

 

 

Vlw... obrigado amigo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo Otata,

 

Substitui o codigo q postei de criação de linhas do form dinamicamente por este abaixo, feito com JQuery, mas mesmo assim ainda não consigo pegar o id dos campos criados... você sabe como poderia fazer isto?

 

 

// Cria as linhas com campos inputs na div camposTexto.
$(document).ready(function(){

	var i=0;

	$("#add_input").click(function(){

		$("#camposTexto").append("<div id='linha"+i+"'><input type='hidden' name='valorTotalItemHidden' id='valorTotalItemHidden"+i+"' value=''><input type='text' name='numItem' id='numItem"+i+"' size='3' value='' class='text'></div>");

		$("#linha"+i).hide().fadeIn("slow"); i++;

		return false;

	});

});


// Tento pegar os ids dos campos criados dinamicamente... com campos que nao sao criados de forma dinamica funfa...
$(document).ready(function() {	
	$("#numItem").click(function(){		   
		alert('Ola Mundo!');
	});
});

 

 

Vlw amigo..

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.