Tengo tres enfoques, aquí puede usar ambos <input>
o <textarea>
según sus requisitos.
1. Utilice Entrada en <td>
.
Usando <input>
elemento en todos los <td>
s,
<tr><td><input type="text"></td>....</tr>
Además, es posible que desee cambiar el tamaño de la entrada al tamaño de su td
. ex.,
input { width:100%; height:100%; }
Además, puede cambiar el color del borde del cuadro de entrada cuando no se está editando.
2. Utilice contenteditable='true'
atributo. (HTML5)
Sin embargo, si desea utilizarlo contenteditable='true'
, es posible que también desee guardar los valores adecuados en la base de datos. Puede lograr esto con ajax.
Puede adjuntar keyhandlers keyup
, keydown
, keypress
etc a la<td>
. Además, es bueno usar algo de delay () con esos eventos cuando el usuario escribe continuamente, el evento ajax no se activará con cada tecla que presione el usuario. por ejemplo,
$('table td').keyup(function() {
clearTimeout($.data(this, 'timer'));
var wait = setTimeout(saveData, 500); // delay after user types
$(this).data('timer', wait);
});
function saveData() {
// ... ajax ...
}
3. Agregar <input>
a <td>
cuando se hace clic en él.
Agregue el elemento de entrada td
cuando <td>
haga clic en, reemplace su valor de acuerdo con el td
valor de. Cuando la entrada está borrosa, cambie el valor de `td con el valor de la entrada. Todo esto con javascript.