Jump to content
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!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By sanase
      Boa tarde, 
       
      Galera estou com um problema, tenho uma pastas com alguns arquivos e preciso coletar algumas linhas de todos os arquivos.
      Consegui fazer ele ler apenas um mas não estou conseguindo fazer o looping
       
      o codigo apontando para apenas um arquivo ficou assim, esta funcionando
       
      <?php
          $url = 'D:/FTP/Inventario/MREC000129.htm';
          // PEGANDO TODO CONTEUDO
          $dadosSite = file_get_contents($url);
          $comp1 = explode('<TR><TD><TD><TD>Computador&nbsp;&nbsp;<TD>',$dadosSite);
          $comp2 = explode("<TR>",$comp1[1]);
          $user1 = explode('<TR><TD><TD><TD>Gerador&nbsp;&nbsp;<TD>',$dadosSite);
          $user2 = explode("<TR>",$user1[1]);
          $sist1 = explode('<TR><TD><TD><TD>Sistema operacional&nbsp;&nbsp;<TD>',$dadosSite);
          $sist2 = explode("<TR>",$sist1[1]);
          $memo1 = explode('<TR><TD><TD><TD><TD>Memória do Sistema&nbsp;&nbsp;<TD>',$dadosSite);
          $memo2 = explode("</TABLE>",$memo1[1]);
          $fabr1 = explode('<TR><TD><TD><TD><TD>Fabricante&nbsp;&nbsp;<TD>',$dadosSite);
          $fabr2 = explode("<TR>",$fabr1[1]);
          $mode1 = explode('<TR><TD><TD><TD><TD>Produto&nbsp;&nbsp;<TD>',$dadosSite);
          $mode2 = explode("<TR>",$mode1[1]);
          $mode1 = explode('<TR><TD><TD><TD><TD>Produto&nbsp;&nbsp;<TD>',$dadosSite);
          $mode2 = explode("<TR>",$mode1[1]);
          $seri1 = explode('<TR><TD><TD><TD><TD>Número de série&nbsp;&nbsp;<TD>',$dadosSite);
          $seri2 = explode("<TR>",$seri1[1]);
          $proc1 = explode('<TR><TD><TD><TD><TD>Versão&nbsp;&nbsp;<TD>Intel',$dadosSite);
          $proc2 = explode("<TR>",$proc1[1]);
          $proc1 = explode('<TR><TD><TD><TD><TD>Versão&nbsp;&nbsp;<TD>Intel',$dadosSite);
          $proc2 = explode("<TR>",$proc1[1]);
          $noip1 = explode('<TR><TD><TD><TD><TD>Endereço / Máscara da sub-rede&nbsp;&nbsp;<TD>',$dadosSite);
          $noip2 = explode(" / 255.",$noip1[1]);
          $data1 = explode('<TR><TD><TD><TD>Data&nbsp;&nbsp;<TD>',$dadosSite);
          $data2 = explode("<TR>",$data1[1]);

          print('
          <table width="82%" border="0" cellpadding="0" cellspacing="1" align="center">
              <tr bgcolor="#FFFFFF"> 
                  <td height="22"> 
                      <div align="center"><font size="4" color="#000099">INVETÁRIOS DO PARQUE COMPUTACIONAL PROFILE LOGISTICA</font><font size="5" color="#000099"> 
                      </font></div>
                  </td>
              </tr>
              <tr bgcolor="#FFFFFF"> 
                  <td height="5">&nbsp;</td>
              </tr>
                  <tr bgcolor="#FFFFFF"> 
                  <td height="22"> 
                  <div align="center"><font size="5" color="#000099"><b><font size="4">RELAÇÃO DE COMPUTADORES</font></b></font></div>
              </td>
          </table>
          </br>
          ');
          print('
              <table border="1" align="center" width="100%" cellspacing="0" cellpadding="3">
                  <tr bgcolor="#F7FCBA">
                      <th>Seq</th>
                      <th>Computador</th>
                      <th>Usuário</th>
                      <th>Sistema Operacional</th>
                      <th>Mamória</th>
                      <th>Fabricante</th>
                      <th>Modelo</th>
                      <th>Série</th>
                      <th>Processador</th>
                      <th>Endereço IP</th>
                      <th>Data</th>
                  </tr>
          ');
          print (' 
                  <tr>
                      <th>1</th>
                      <th>'.$comp2[0].'</th>
                      <th>'.$user2[0].'</th>
                      <th>'.$sist2[0].'</th>
                      <th>'.$memo2[0].'</th>
                      <th>'.$fabr2[0].'</th>
                      <th>'.$mode2[0].'</th>
                      <th>'.$seri2[0].'</th>
                      <th> Intel '.$proc2[0].'</th>
                      <th>'.$noip2[0].'</th>
                      <th>'.$data2[0].'</th>
                  </tr>
          </table>
          ');

      }
    • By guilhermewebber
      Olá, eu to com uma duvida para conseguir trazer um dado do banco pra uma input. Tenho o seguinte código
       
       <input class="form-control" type="text" readonly>                 <?php                 $sql2 = "select Codigo, SaldoAtual from saldo";                 $conexao2 = new Conexao2();                 $saldos = $conexao2 -> execute($sql2);                   while($saldo = $saldos ->fetch_array()) {                   echo '<option value="'.$saldo['Codigo'].'"> '.$saldo['SaldoAtual'].' </option>';                 }                 ?>                 </select>
    • By ivanjrx
      bom pessoal estou montando um projeto em Arduíno mais não entendo quase nada de php, eu queria fazer um botão on-off no mesmo botão, para quando pressionar ligar e para quando soltar desligar parecido com botão de voz do whatsApp quando solta para de gravar nesse caso eu quero pra quando soltar desligar. no projeto já adicionei um botão submit mais queria que esse mesmo botão fizesse essa as duas funções igual descrevo acima. 
      <html> <head> <title>Arduino Controlled Based PHP</title> </head> <body> <?php echo "<p>Control Page</p><p>"; $port = fopen("COM7", "w+"); sleep(0); ?> <br> <form action="index.php" method="POST"> <input type="hidden" name="turn" value="on" /> <input type="Submit" value="on"> </form> <form action="index.php" method="POST"> <input type="hidden" name="turn" value="off" /> <input type="Submit" value="off"> </form> <?php if ($_POST['turn']=="on") { echo "Turned on"; fwrite($port, "n"); } if ($_POST['turn']=="off") { echo "Turned off"; fwrite($port, "f"); } fclose($port); ?> </body> </html>  
    • By iSilvaMarcelo
      Boa tarde pessoal!
      Estou tendo uma dificuldade em repetição na minha tabela.
      Tentei usar foreach para exibir as informação do meu banco de dados porém ele só repetir o primeiro nome do meu banco, o objetivo é mostra todos eles em ordem. Mais não está indo.
      Testei usando while ($row_usuario = mysqli_fetch_assoc($resultado_usuario)){ }, ele funcionar porem os nomes ficam em varias tabelas separadas.
      Na imagem tem o código que usei.
       

    • By juniorerb21
      Olá! tenho uma rede social em php, e esta rede social te uma função para criar usuários falsos, mas eu preciso ocultar estes usuários nas recomendações de amigos, na página inicial.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.