-1

I have to check and uncheck the checkbox along with it, I need to have another action should be done like when I check the textbox should come, and when uncheck that textbox should be gone. For this I have code, but for first time it is working and without reloading the page again Im opening that and checking the checkbox at that time it is not working:

$('#feescheduledetail-beyond_drive_time').click(function() {
    if(this.checked){
        $('.field-feescheduledetail-drive_time').show();
    }else{
        $('.field-feescheduledetail-drive_time').hide();
    }
});
  • 2
    Does this answer your question? [jQuery checkbox checked state changed event](https://stackoverflow.com/questions/8423217/jquery-checkbox-checked-state-changed-event) – Abdelrahman Hatem Jul 26 '21 at 23:58

1 Answers1

0

Use change instead of click. After page load (inside document.ready) You can hide your textbox .

$(".field-feescheduledetail-drive_time").hide();
$(".feescheduledetail-beyond_drive_time").on("change", function() {
  if (this.checked) {
    $('.field-feescheduledetail-drive_time').show();
  } else {
    $('.field-feescheduledetail-drive_time').hide();
  }
});

Example:

$(".field-feescheduledetail-drive_time").hide();
$(".feescheduledetail-beyond_drive_time").on("change", function() {
  if (this.checked) {
    $('.field-feescheduledetail-drive_time').show();
  } else {
    $('.field-feescheduledetail-drive_time').hide();
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="checkbox" class="feescheduledetail-beyond_drive_time" />
<input type="text" class="field-feescheduledetail-drive_time" />

For details aboutchange vs click see this old SO question.

4b0
  • 21,981
  • 30
  • 95
  • 142