Ir para conteúdo
pedro.hso

Clone row: com todos os elementos e funções

Recommended Posts

Ola, sou iniciante na programação, mas estou desenvolvendo um sistema de gerenciamento, onde tenho que dar entrada de notas, ou seja estas notas necessitam de mais produtos eventualmente, e queria adicionar dinamicamente estes campos, realizando o clone row , no entanto consigo duplicar mas nao carrega as minhas funções de options.

 <div id="main" class="container-fluid">
  <form action="des_geral.php" method="post">
  <div class="row">
  <div class="col-xs-3">
 <label for="campo2">Data</label>
  <input type="date" class="form-control" id="data" name="data" > 
  </div>
 <div class="col-xs-3 ">
 <label for="campo5">Nº Nota Fiscal</label>
  <input type="number" class="form-control" min="1" id="nf" name="nf" > 
  </div> 
 
  <div class="col-xs-6">
   <label for="campo1">Fornecedor</label>
   <div class="bs-docs-example no-code">
   <select name="fornecedor" id="fornecedor" class="form-control" placeholder="Comece a digitar...">
   	<option></option>
	<?php
		$dados=mysql_query("SELECT  * from cad_fornecedor");
    while($row = mysql_fetch_assoc($dados)) {
		echo "<option value='".$row["id"]."'>".$row["nome"]."</option>";
	}  
		?>
		</select></div>
 </div>
 </div>
	  <div class="row">
	  <div class="col-xs-12">
	  	<table border="0" cellpadding="0" cellspacing="0">
	  		<thead>
	  			<tr>
	  				<th>Produto</th>
	  				<th>Quantidade</th>
	  				<th>Unidade</th>
	  				<th>Valor Uni.(R$)</th>
	  				<th>Valor total(R$)</th>
	  				<th class="actions">Ações</th>
	  			</tr>
	  		</thead>
	  		<tbody id="tabela">
	  			<tr id="linha" class="row_0">
	  				<td ><select style="width: 300px" name="produto" id="produto" onChange="retorna('1','1');" class="form-control" placeholder="Comece a digitar">
   	<option></option>
   	<?php
		$dados=mysql_query("SELECT  * FROM cad_produtos");
    while($row = mysql_fetch_assoc($dados)) {  

		echo "<option value='".$row["id"]."'>".$row["nome"]."</option>";
	}	 
		?>
		</select> </td>
  					<td><input type="number" class="form-control" style="width: 100px" oninput="calculate('linha')" min="1" id="qtd" name="qtd" ></td>
  					<td><input class="form-control" style="width: 100px" value="" name="unidade" id="unidade"  readonly></td>
  					<td><input type="text" class="form-control" style="width: 150px" oninput="calculate('linha')" min="0" step="0.01" id="vuni" name="vuni" ></td>
  					<td><input type="text" class="form-control" style="width: 150px" readonly min="0" step="0.01" id="vtot" name="vtot" ></td>
  					<td><a id="add" onClick="addRow('tabela')" class="btn btn-success btn-xs" href="#">Mais Campos</a><a id="remover" class="btn btn-danger btn-xs"  href="#">Remover</a></td>
	  			</tr>
	  		</tbody>
	  	</table>
	  	<table style="width: 900px"><tbody>
	  		<tr>
	  				<th style="width: 300px">Total</th>
	  				<th style="width: 100px"></th>
	  				<th style="width: 100px"></th>
	  				<th style="width: 150px"></th>
	  				<th style="width: 150px"></th>
	  				<th style="width: 100px"></th>
	  			</tr>
	  	</tbody></table>
	  </div>
	  </div>
    </div>
  <hr />
   <div id="actions" class="row">
    <div class="col-md-12">
      <button id="salvar_des" name="salvar_des" type="submit" class="btn btn-primary">Salvar</button>
      <a href="des_geral.php" class="btn btn-default">Cancelar</a>
    </div>
  </div>
</form>
</div>
function addRow(tableID) {
    var table = document.getElementById(tableID);
    var rowCount = table.rows.length;
    if (rowCount < 5) { // limit the user from creating fields more than your limits
        var row = table.insertRow(rowCount);
        
        var colCount = table.rows[0].cells.length;
        row.id = 'row_'+rowCount;
        for (var i = 0; i < colCount; i++) {
            var newcell = row.insertCell(i);
            newcell.outerHTML = table.rows[0].cells[i].outerHTML;
        }
		     $.getJSON('des_processa.php?search=',{op: 10, ajax: 'true'}, function(j){
								var options = '<option></option>';	
								for (var i = 0; i < j.length; i++) {
									options += '<option value="' + j[i].id_produto + '">' + j[i].produto + '</option>';	}
								$('#produto').last().html(options);	});
			var listitems= row.getElementsByTagName("input")
            for (i=0; i<listitems.length; i++) {
              listitems[i].setAttribute("oninput", "calculate('"+row.id+"')");
            }
    } else {
        alert("Maximum Passenger per ticket is 4.");

    }
}

function deleteRow(tableID) {
    var table = document.getElementById(tableID);
    var rowCount = table.rows.length;
    for (var i = 0; i < rowCount; i++) {
        var row = table.rows[i];
        var chkbox = row.cells[0].childNodes[0];
        if (null !== chkbox && true === chkbox.checked) {
            if (rowCount <= 1) { // limit the user from removing all the fields
                alert("Cannot Remove all the Passenger.");
                break;
            }
            table.deleteRow(i);
            rowCount--;
            i--;
        }
    }
}

function calculate(elementID,num) {
    var mainRow = document.getElementById(elementID);
    var myBox1 = mainRow.querySelectorAll('[name=qtd[0]]')[0].value;
	var myBox2 = num;
    var total = mainRow.querySelectorAll('[name=vtot[0]]')[0];
    var myResult1 = myBox1 * myBox2;
    total.value = myResult1;
$("#vuni")[0].maskMoney({thousands:'.', decimal:',', affixesStay: false});
$("#vtot")[0].maskMoney({thousands:'.', decimal:',', affixesStay: false});
}

Agradeço se alguem puder me ajudar, Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por Mark Augusto
      Faço a chamada e executo o código, mas não sei como dar um laço nas datas
      setlocale(LC_ALL, "pt_BR", "pt_BR.iso-8859-1", "pt_BR.utf-8", "portuguese"); date_default_timezone_set('America/Sao_Paulo'); $date = date("m/y"); $nu = 0; $rating = $conexaoDB->query("SELECT * FROM calendar ORDER BY id ASC LIMIT 20"); while($star = $rating->fetch_array()){ $id_c = $star['id-post']; $critics = $conexaoDB->query("SELECT * FROM postagens WHERE id_post='$id_c' AND online='calendar'"); $cri = $critics->fetch_assoc(); $editorCric = $cri["id_editor"]; $idPostCric = $cri["id_post"]; $date1 = explode("/", $star["data"]); $reconf_data = $date1[1]."/".$date1[2]; $nu = $nu+1; chamei apenas o mês e o ano e agrupei com o mês e ano do array... mas não tem dado resultado, então fiz uma gabiarra provisória  para ordenar por id. 
    • Por Solo
      Boa noite  pessoal, estou com um problema, sou iniciante me php e estou em duvida com como posso fazer uma paginacao de produtos do banco de dados...... alguem poderia me ajudar ou me indicar um tutorial ???
       
      <?php
      error_reporting(0);
      ini_set(“display_errors”, 0 );
      require_once("conexao.php"); 
         $produtos = "SELECT produto_ID, nome_produto, imagem_produto, valor ";
          $produtos .= "FROM produto ";
          $resultado = mysqli_query($conecta, $produtos);
          if(!$resultado) {
              die("Falha na consulta ao banco");   
          }
      ?> 
       
       
       
      AONDE LISTA OS PRODUTOS 
       
       
       
          <div class="rowproducts">
          <div id="listagem_produtos2" class="">
            <?php while($linha=mysqli_fetch_assoc($resultado)) {   ?>
                       
                      <ul>
                          <div class="class22">
                          
                          <li>
                              
                              <img  class="img-responsive"  height="200" width="200" src="<?php echo $linha["imagem_produto"]?> "  >
                              </li>
                              
                              <li class="nproduto"><?php echo $linha["nome_produto"]?></li>
                               <li class="nproduto">R$ <?php echo $linha["valor"]?></li>
                          </div>
                          </ul>
                          
                          
                          
                          
                          
                          
                          
                      
                  <?php } ?>
                      
                      
                      
                    </div>
                    </div>
       
       
       
       
    • Por RooseveltDorea
      Bom dia a todos!
       
      Antes de vir para o fórum pesquisei quebrei a cabeça e mesmo assim não consegui. Então peço ajuda.
       
      Tenho uma aplicação, php com access, rodando perfeitamente em ambiente windows na redehost: sistescom.com.br/fc
       
      Qual o problema?
      Instalei o php 7 na minha máquina baixei a minha aplicação e vejam o resultado:
       
      ---
      Fatal error: Uncaught Error: Class 'COM' not found in C:\Apache24\htdocs\fc\connections\ADOConnection.php:41 Stack trace: #0 C:\Apache24\htdocs\fc\connections\Connection.php(54): ADOConnection->connect() #1 C:\Apache24\htdocs\fc\connections\ADOConnection.php(18): Connection->__construct(Array) #2 C:\Apache24\htdocs\fc\connections\ConnectionManager.php(224): ADOConnection->__construct(Array) #3 C:\Apache24\htdocs\fc\connections\ConnectionManager.php(84): ConnectionManager->getConnection('FichadeChamada_...') #4 C:\Apache24\htdocs\fc\connections\ConnectionManager.php(95): ConnectionManager->byId('FichadeChamada_...') #5 C:\Apache24\htdocs\fc\include\appsettings.php(697): ConnectionManager->getDefault() #6 C:\Apache24\htdocs\fc\include\dbcommon.php(90): include('C:\\Apache24\\htd...') #7 C:\Apache24\htdocs\fc\login.php(5): require_once('C:\\Apache24\\htd...') #8 {main} thrown in C:\Apache24\htdocs\fc\connections\ADOConnection.php on line 41
      ---
      Estou usando o phprunner para gerar minha aplicação.
      Não sou programador, estou aprendento PHP aos poucos.
       
      Muito obrigado a todos.
       
      Júnior
    • Por JeysonRomualdo
      <?php //conexão com banco de dados.   $pdo = new PDO("mysql:dbname=cadastro", "root", "");   ?>   <html> <head> <title>Autenticando Usuario</title> <script type="text/javascript"> function loginsussesfully() { setTimeout("window.location='painel.php'", 5000); } function loginfailed(){ setTimeout("window.location='login.php'", 5000); } </script> </head> <body>   <?php //capturando informaçoes digitadas pelo usuario $email = $_POST['email']; $senha = $_POST['senha']; $sql = "SELECT * FROM usuarios WHERE email = '$email' and senha = '$senha'"; $row = mysql_num_rows($sql); if ($row > 0) { session_start(); $SESSION['email'] = $_POST['email']; $SESSION['senha'] = $_POST['senha']; echo "<center>Você foi autenticado com susseco!</center>"; echo "<script>loginsuccesfully</script>"; } else{ echo "<center>Nome de usuario ou senha invalidos!</center>"; echo "<script>loginfailed</script>"; } ?>   </body>   </html> erro na linha 25... nao consigo identificar o que pode estar errado ou faltando
    • Por Carcleo
      jQuery:
          // JavaScript Document          $(document).ready(function (e) {                  $("#idPastor").on("change", function () {                          $.ajax({                 url: "_scripts/_php/_validacoes/buscarDadosRedes.php",                 type: "POST",                 dataType: "json",                 data: {                       idPastor: $("#idPastor").val()                 },                 beforeSend: function() {                     $("#imgCarregando").css('display','block');                 },                 success: function (result) {                     $("#imgCarregando").css('display','none');                     $('#idRede').find('option').remove();                                          if (result == null){                         $("#idRede").append("<option value=>Sem Redes</option>");                     } else {                         $("#idRede").append("<option value=>Escolha a Rede</option>");                         result.forEach(function(option){                             $("#idRede").append("<option value=" + option["idRede"] + ">" + option["nome"] + "</option>")                         });                     }                 }                              });                          });                       $("#idRede").on("change", function () {                                                $.ajax({                 url: "_scripts/_php/_validacoes/buscarDadosRegioes.php",                 type: "POST",                 dataType: "json",                 data: {                       idRede: $("#idRede").val()                 },                 beforeSend: function() {                     $("#imgCarregando").css('display','block');                 },                 success: function (result) {                     $("#imgCarregando").css('display','none');                     $('#idRegiao').find('option').remove();                     if (result == null){                         $("#idRegiao").append("<option value=>Sem Regiões</option>");                     } else {                         $("#idRegiao").append("<option value=>Escolha a Região</option>");                                                 result.forEach(function(option){                             $("#idRegiao").append("<option value=" + option["idRegiao"] + ">" + option["nome"] + "</option>")                         });                     }                 }                              });                          });                       $("#idRegiao").on("change", function () {                                                       $.ajax({                 url: "_scripts/_php/_validacoes/buscarDadosAreas.php",                 type: "POST",                 dataType: "json",                 data: {                       idRegiao: $("#idRegiao").val()                 },                 beforeSend: function() {                     $("#imgCarregando").css('display','block');                 },                 success: function (result) {                     $("#imgCarregando").css('display','none');                             $('#idArea').find('option').remove();                                 if (result == null){                             $("#idArea").append("<option value=>Sem Áreas</option>");                     } else {                                     $("#idArea").append("<option value=>Escolha a Área</option>");                             result.forEach(function(option){                             $("#idArea").append("<option value=" + option["idArea"] + ">" + option["nome"] + "</option>")                         });                     }                 }                              });                          });                       $("#idArea").on("change", function () {                                                   $.ajax({                 url: "_scripts/_php/_validacoes/buscarDadosSetores.php",                 type: "POST",                 dataType: "json",                 data: {                       idArea: $("#idArea").val()                 },                 beforeSend: function() {                     $("#imgCarregando").css('display','block');                 },                 success: function (result) {                     $("#imgCarregando").css('display','none');                     $('#idSetor').find('option').remove();                                             if (result == null){                         $("#idSetor").append("<option value=>Sem Setores</option>");                     } else {                         $("#idSetor").append("<option value=>Escolha a Setor</option>");                                 result.forEach(function(option){                             $("#idSetor").append("<option value=" + option["idSetor"] + ">" + option["nome"] + "</option>")                         });                     }                 }                              });                          });                       $("#idSetor").on("change", function () {                                                       $.ajax({                 url: "_scripts/_php/_validacoes/buscarDadosCelulas.php",                 type: "POST",                 dataType: "json",                 data: {                       idSetor: $("#idSetor").val()                 },                 beforeSend: function() {                     $("#imgCarregando").css('display','block');                 },                 success: function (result) {                     $("#imgCarregando").css('display','none');                     $('#idCelula').find('option').remove();                             if (result == null){                         $("#idCelula").append("<option value=>Sem Celulas</option>");                     } else {                         $("#idCelula").append("<option value=>Escolha a Célula</option>");                                 result.forEach(function(option){                             $("#idCelula").append("<option value=" + option["idCelula"] + ">" + option["nome"] + "</option>")                         });                     }                 }                              });                          });                   }); Esse script, faz a população via $.ajax do jQuery de combos no form.
      Tudo funciona bem.
      Mas considere o o form abaixo:

       
      Imagine o que o usuário preencheu todos os campos e de repente resolve tocar a opção do select de Redes como está na figura.
      Porém, a opção Rede 2 NÃO possui Regiões Cadastradas ainda.
      No entanto, note que todos os campos abaixo estão preenchidos e isso não negaria um possível submit do form com dados errados?
      Ainda,  imagine a situação onde a opção Rede 2 POSSUI outas Regiões Cadastradas o que comprometeria a escolha dos selects que seguem
       
      Como contornar esse problema?
       
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.