$(document).ready(function() {
//set initial state.
$('#textbox1').val($(this).is(':checked'));
$('#checkbox1').change(function() {
$('#textbox1').val($(this).is(':checked'));
});
$('#checkbox1').click(function() {
if (!$(this).is(':checked')) {
return confirm("Are you sure?");
}
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="checkbox" id="checkbox1"/><br />
<input type="text" id="textbox1"/>
Di sini .change()
memperbarui nilai kotak teks dengan status kotak centang. Saya gunakan .click()
untuk mengonfirmasi tindakan di hapus centang. Jika pengguna memilih membatalkan, tanda centang dikembalikan tetapi .change()
menyala sebelum konfirmasi.
Ini meninggalkan hal-hal dalam keadaan tidak konsisten dan kotak teks mengatakan false ketika kotak centang dicentang.
Bagaimana saya bisa berurusan dengan pembatalan dan menjaga nilai kotak teks konsisten dengan kondisi cek?