$(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"/>
여기서는 .change()텍스트 상자 값을 확인란 상태로 업데이트합니다. .click()선택을 취소 할 때 작업을 확인하는 데 사용 합니다. 사용자가 취소를 선택하면 .change()확인 표시가 복원되지만 확인 전에 실행됩니다.
그러면 일관된 상태가 유지되지 않으며 확인란을 선택하면 텍스트 상자에 false가 표시됩니다.
취소를 처리하고 텍스트 상자 값을 확인 상태와 일치하게 유지하려면 어떻게합니까?