Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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...
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...
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);
}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++;
}
}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...
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..
cara você está buscando com o name='qtdItem1' sendo que o nome dele é qtdItem...
ou você troca name por id ai funciona...
t+