tengo el siguiente codigo donde quiero validar que en un input solo ingresen valores numericos el cual funciona.
Código HTML:
Ver original
<!DOCTYPE HTML> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <script> $(document).ready(function(){ $(".unidad").keydown(function(event) { if(event.shiftKey) { event.preventDefault(); } if (event.keyCode == 46 || event.keyCode == 8) { } else { if (event.keyCode < 95) { if (event.keyCode < 48 || event.keyCode > 57) { event.preventDefault(); } } else { if (event.keyCode < 96 || event.keyCode > 105) { event.preventDefault(); } } } }); }); </script> </head> <body> <section id="contenedor"> <table id="tabla"> <tbody> <tr> </tr> </tbody> </table> </section> <input type="text" class="unidad">
pero al hacer los campos dinamicos no me funciona como se ve en el siguiente codigo
Código HTML:
Ver original
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <script> $(function() { $( "#tabs" ).tabs(); }); $(function(){ // Clona la fila oculta que tiene los campos base, y la agrega al final de la tabla $("#agregar").on('click', function(){ $("#tabla tbody tr:eq(0)").clone().removeClass('fila-base').appendTo("#tabla tbody"); }); // Evento que selecciona la fila y la elimina $(document).on("click",".eliminar",function(){ var parent = $(this).parents().get(0); $(parent).remove(); }); }); //crear la dotos de la tabla al cargar el documento $(document).ready(function(){ //validad solo numeros en input var tbody = document.getElementById ("tabla").getElementsByTagName("TBODY")[0]; var row = document.createElement("TR") var td1 = document.createElement("TD") td1.appendChild(document.createTextNode("columna 1")) var td2 = document.createElement("TD") td2.appendChild (document.createTextNode("columna 2")) var td3 = document.createElement("TD") td3.appendChild (document.createTextNode("columna 3")) var td4 = document.createElement("TD") td4.appendChild (document.createTextNode("columna 4")) var td5 = document.createElement("TD") td5.appendChild (document.createTextNode("columna 5")) var td6 = document.createElement("TD") td6.appendChild (document.createTextNode("columna 6")) var td7 = document.createElement("TD") td7.appendChild (document.createTextNode("columna 7")) row.appendChild(td1).innerHTML="1"; row.appendChild(td2).innerHTML="<?php require( "variables.php" ); $h = mysql_connect( $host, $admin_name, $admin_pass ) or die( "ERROR al conectar al servidor." ); if( isset( $h ) ){ $db = mysql_select_db( $db_name, $h ) or die( "ERROR al abrir base de datos." ); if( isset( $db ) ){ $sql = " SELECT * from productos "; $res = mysql_query( $sql, $h ) or die( "ERROR al ejecutar instruccion SQL." ); echo "<select name=nombre required > "; $i=1; while( $fila = mysql_fetch_row( $res ) ){ $i++; } echo "</select>"; } } mysql_close($h); ?>"; row.appendChild(td3).innerHTML="0"; row.appendChild(td4).innerHTML="---------"; row.appendChild(td5).innerHTML="0"; row.appendChild(td6).innerHTML="0"; row.appendChild(td7).innerHTML="0"; tbody.appendChild(row); $(".unidad").keydown(function(event) { if(event.shiftKey) { event.preventDefault(); } if (event.keyCode == 46 || event.keyCode == 8) { } else { if (event.keyCode < 95) { if (event.keyCode < 48 || event.keyCode > 57) { event.preventDefault(); } } else { if (event.keyCode < 96 || event.keyCode > 105) { event.preventDefault(); } } } }); $("select").change(function(){ var str = ""; $( "select option:selected" ).each(function() { str += $( this ).text() + " "; }); //alert(str); $.post("jquery_ajax_consulta.php", { nombre:str, }, function(data,status){ var valores= data; var datos= valores.split(','); document.getElementById("tabla").rows[1].cells[2].innerHTML =datos[0]; if(parseInt(datos[1])==1){ document.getElementById("tabla").rows[1].cells[3].innerHTML ="unidad"; document.getElementById("tabla").rows[1].cells[6].innerHTML =datos[0]; }else if (parseInt(datos[1])==2) { document.getElementById("tabla").rows[1].cells[3].innerHTML ="M. lineal"; document.getElementById("tabla").rows[1].cells[2].innerHTML =datos[0]; document.getElementById("tabla").rows[1].cells[6].innerHTML =datos[0]; }else if (parseInt(datos[1])==3) { document.getElementById("tabla").rows[1].cells[3].innerHTML ="M²"; document.getElementById("tabla").rows[1].cells[6].innerHTML =datos[0]; }; }); }); }); </script> </head> <body> <section id="contenedor"> <?php echo "<table id=tabla>"; echo "<thead>"; echo "<tr>"; echo "</tr>"; echo "</thead>"; echo "<tbody>"; /*echo "<tr class=fila-base>"; $i=1; while( $fila = mysql_fetch_row( $res ) ){ $i++; } $j=1; $sql1 = " SELECT * from productos "; $res1 = mysql_query( $sql1, $h ) or die( "ERROR al ejecutar instruccion SQL." ); while( $fila1 = mysql_fetch_row( $res1 ) ){ $j++; } echo "</tr>";*/ echo "</tbody>"; echo "</table>"; ?> <!--<input type="button" id="agregar" value="Agregar fila" />--> </section> <input type="text" class="unidad" /> </body> </html>
nose que cambia que en uno funciona y en el otro no
de ante manos muchas gracias si me pueden ayudar