Tengo una tabla, donde yo quiero clonar la fila dependiendo de si la persona desea agregarlo con un (+), la fila principal tiene una funcion Jquery que hace que al yo digitar un codigo el trae de la base de datos la informacion como (Descripcion y valor unitario) y la pone en el input correspondiente, ahora todo esto me resulta, y todo esta bien. Pero al momento de yo crear una fila nueva el trae por defecto lo que tenga la primer fila, y si yo voy a traer la informacion de un producto por medio del codigo no tiene activado el codigo Jquery, que podria hacer en ese caso?.
CODIGO HTML
Código:
<div class="container">
<div class="row">
<div class="col-12">
<form >
<h3>Agregar Pedido</h3>
<select name="cc" class='mi-selector'>
<option>Seleccione Cedula:</option>
<?php
$sql = "SELECT Cedula FROM Usuario";
$consulta = mysqli_query($conectar, $sql);
while ($mostrar = mysqli_fetch_array($consulta)) {
?>
<option value="<?php echo $mostrar['Cedula'];?>"><?php echo $mostrar['Cedula'];?></option>
<?php }?>
</select>
<table class="tabla">
<tr class="fila-fija">
<td><input type="number" name="codigo[]" class="codigo"><span class="resultado"></span></td>
<td><input type="text" disabled="" name="descripcion[]" class="descrip" value="" placeholder="Descripcion"></td>
<td><input type="text" name="Unidad[]" placeholder="Unidad"></td>
<td><input type="text" name="cantidad[]" placeholder="Cantidad"></td>
<td><input type="number" disabled="" name="vunitario[]" class="vunitario" value="" placeholder="Vunitario"></td>
<td class="eliminar"><input type="button" value="Menos -"/></td>
</tr>
</table>
<table>
<tr>
<td><input type="number" name="iva" placeholder="IVA"></td>
<td><input type="date" name="fecha"></td>
</tr>
</table>
<div class="btn-der">
<input type="submit" name="insertar" value="Guardar" class="btn btn-info"/>
<button id="adicional" name="adicional" type="button" class="btn btn-warning"> Más + </button>
</div>
</form>
</div>
</div>
</div>
JS:
Código:
<script type="text/javascript">
// RELLENAR CAMPOS
$(document).ready(function() {
$(".codigo").focus();
$(".codigo").keydown(function(e) {
;
var url="getdatos.php";
$.getJSON(url,{ _num1: $(".codigo").val() }, function(clientes){
$.each(clientes, function(i,cliente) {
$(".vunitario").val(cliente.vunitario);
$(".descrip").val(cliente.descripcion);
if(cliente.resultado == "2") {
$(".resultado").css("color","red");
$(".resultado").text("codigo no disponible");
} else {
$(".resultado").css("color","green");
$(".resultado").text("codigo disponible");
}
});
});
});
});
</script>
// CLONAR UN INPUT
$(function(){
// Clona la fila oculta que tiene los campos base, y la agrega al final de la tabla
$("#adicional").on('click', function(){
$(".tabla tbody tr:eq(0)").removeClass('fila-fija').clone(true).appendTo(".tabla");
});
// Evento que selecciona la fila y la elimina
$(document).on("click",".eliminar",function(){
var parent = $(this).parents().get(0);
$(parent).remove();
});
});
PHP: TRAER LOS DATOS PARA RELLENARLOS
Código:
<?php
$cod = $_GET['_num1'];
if (!empty($cod)) {
comprobar($cod);
}
function comprobar($cod)
{
include("../conexion_mysql.php");
$sql = "SELECT * FROM Productos WHERE Codigo = '$cod'";
$consulta = mysqli_query($conectar, $sql);
$clientes = array();
$row = mysqli_num_rows($consulta);
if ($row == 0) {
$clientes[] = array('codigo' => 'No hay nada', 'descripcion' => 'No hay nada', 'vunitario' => '0', 'resultado' => 2);
} elseif ($row > 0) {
while ($contar = mysqli_fetch_row($consulta)) {
$codigo=$contar[0];
$descripcion=$contar[1];
$vunitario=$contar[3];
$clientes[] = array('codigo' => $codigo, 'descripcion' => $descripcion, 'vunitario' => $vunitario, 'resultado' => 1);
}
}
$json_string = json_encode($clientes);
echo $json_string;
}
?>
Muchas gracias, espero me puedan colaborar