Saya memiliki tiga pendekatan, Di sini Anda dapat menggunakan keduanya <input>atau <textarea>sesuai kebutuhan Anda.
1. Gunakan Input in <td>.
Menggunakan <input>elemen di semua <td>,
<tr><td><input type="text"></td>....</tr>
Selain itu, Anda mungkin ingin mengubah ukuran input menjadi ukurannya td. ex.,
input { width:100%; height:100%; }
Anda juga dapat mengubah warna batas kotak input saat tidak sedang diedit.
2. Gunakan contenteditable='true'atribut. (HTML5)
Namun, jika Anda ingin menggunakan contenteditable='true' , Anda mungkin juga ingin menyimpan nilai yang sesuai ke database. Anda dapat mencapai ini dengan ajax.
Anda dapat melampirkan keyhandlers keyup, keydown, keypressdll untuk <td>. Selain itu, sebaiknya gunakan beberapa penundaan () dengan kejadian tersebut ketika pengguna terus menerus mengetik, kejadian ajax tidak akan aktif dengan setiap tombol yang ditekan pengguna. sebagai contoh,
$('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. Tambahkan <input>ke <td>saat diklik.
Tambahkan elemen input tdketika <td>diklik, ganti nilainya sesuai dengan tdnilainya. Saat input kabur, ubah nilai `td dengan nilai input. Semua ini dengan javascript.