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
, keypress
dll 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 td
ketika <td>
diklik, ganti nilainya sesuai dengan td
nilainya. Saat input kabur, ubah nilai `td dengan nilai input. Semua ini dengan javascript.