Ir para conteúdo

POWERED BY:

Arquivado

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

Anderson web

Qtd de campos form jquery

Recommended Posts

Bom dia,

 

Gostaria de uma ajuda de como fazer para inserir um determinado valor(qtd repetição) em um campo e ele repetir o número de campos.

 

Ex: Tem um form com a opção Adicionar, ao colocar uma qtd seria repetido o valor do campo e o numero desejado do campo:

 

Campo: Peça | Repetir: 3

 

1 - Campo

2 - Campo

3 - Campo

 

Obrigado pela atenção.

 

<form action="" method="post">

<div id="campos">
 <label for="peca">Peça:</label>
  <input type="text" name="peca" id="peca" size="10">
  
   <label for="add">Adicionar:</label>
   <input type="text" name="add" id="add" size="10">
   <input type="submit" name="addCampos" value="Adicionar">
</div> 

</form>            

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Li e reli sua dúvida e não consegui entender o que você pretende fazer.

"Tem um form com a opção Adicionar," ???? => Adicionar é um casmpo de texto e não uma OPÇÂO.

"... o numero desejado do campo:" ???? => número do campo? desejado por quem?

Seja mais claro para que possamos ajudá-lo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe pela falta de clareza, seguinte.

 

Tem um campo do tipo text, ao lado do campo gostaria de outro campo text no qual ao inserir uma qtd o primeiro campo se repetiria(clonagem).

Ex: Ao Escrever no campo Peça e inserir uma qtd, o campo de Peça se repetiria baseado na qtd digitada.

 

Outra coisa, sou seu fão, seus artigos em css e jquey me ajudarão bastante.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

jQuery

<script>
$(function(){
 $('input[name=addCampos]').click(function() {
	for(i=1;i<=$('#add').val();i++){
		$('#campos').clone()
		.appendTo('#copias')
		.find('input[type=text]').val('');
	}
  return false;
 });
});
</script>

HTML

<form action="" method="post">
<div id="campos">
	<label for="peca">Peça:</label>
	<input type="text" name="peca[]" id="peca" size="10">
</div> 
<div id="copias"></div>

   <label for="add">Adicionar:</label>
   <input type="text" name="add" id="add" size="10">
   <input type="submit" name="addCampos" value="Adicionar">
</form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

galera to com um problema parecido. Tenho um formulário e um campo de texto com um botão. Quero clonar os campos desse formulário após digitar a quantidade. Já fiz o script e ele tá clonando. Meu problema é que quando clono, ele substitui os atributos dos inputs. Acredito que seja coisa besta, mas não tá rolando :( podem me ajudar?

Segue código.

quantia = document.getElementById("quantidade").value;
var i;			
for(var i=1; i <= quantia; i++){				
$("#form0").clone(true).attr("id","form"+i).removeAttr("style").insertBefore("#ultimo");				
$("#form"+i+" #qtde"+i+" input").attr("name","data[EstoqueEntradas]["+i+"][qtde]").attr("id","qtde"+i);				
$("#form"+i+" select").attr("name","data[EstoqueEntradas]["+i+"][produto_id]").attr("id", "produto"+i);
$("#form"+i+ " input").attr("name","data[EstoqueEntradas]["+i+"][valor_unitario]").attr("id", "valorunitario"+i);				
$("#form"+i+" input").attr("name","data[EstoqueEntradas]["+i+"][data_entrada]").attr("id", "dataentrada"+i);		
				
				 
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

@xandão 21 - Faltou o HTML.

Primeiramente desculpe a demora, tava aproveitando o feriadao hehe.

ok, acho que não é tão relevante a parte do HTML, mas segue aí. Acredito que se conseguir definir melhor qual campo estou alterando consigo resolver o problema.

 

o negócio é que não conheço nenhuma forma para definir melhor o campo.

$("#form"+i+" input").attr("name","data[EstoqueSaida]["+i+"][qtde]").attr("id", "qtde"+i);

o HTML:

 

<div id="form0">
<div class="panel panel-default" id="painelForm0">
<div class="panel-body">
<div class="row">
<div class="form-group col-md-8">
<?php echo $this->Form->input('EstoqueSaida.0.produto_id', array('class'=>'form-control', 'option'=>$produtos, 'id'=>'produto_id')); ?>
</div>
<div class="form-group col-md-4">
<?php echo $this->Form->input('EstoqueSaida.0.qtde', array('class' => 'form-control', 'placeholder' => 'Qtde'));?>
</div>
</div>
<div class="row">
<div class="panel-body col-md-6">
<?php echo $this->Form->input('EstoqueSaida.0.valor_unitario', array('class' => 'form-control', 'placeholder' => 'valorUnitário'));?>
</div>
<div class="panel-body col-md-6">
<?php echo $this->form->label('Data Sa&iacuteda')?>
<?php echo $this->Form->text('EstoqueSaida.0.data_saida', array('type' => 'date', 'dateFormat' => 'DMY', 'minYear' => date(1900), 'maxYear' => date('Y'),  'class' => 'form-control', 'placeholder' => 'Data Saida'));?>
<?php //echo $this->Form->input('dataEntrada', array(dateFormat = \"DMY\" minYear = date(1900) 'maxYear' => date('Y'),'type'=>'date','name'=>'data[EstoqueEntrada][0][data_saida]','class' => 'form-control', 'placeholder' => 'valorUnitário'));?>
</div>
</div>
</div>

</div>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvido.

bastava incluir o id junto do id da div que queria alterar.

ex:

$("#form"+i+" #valorunitario"+i+ " input").attr("name","data[EstoqueEntradas]["+i+"][valor_unitario]").attr("id", "valorunitario"+i);

--'

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.