Как получить событие щелчка флажка, запущенное в функции готовности документа Jquery? - PullRequest
0 голосов
/ 13 сентября 2018

В функции document.ready предупреждение выдает сообщение об ошибке undefined. При выборе этого флажка мне нужно будет включить или отключить элементы управления переключателями.

Как проверить, установлен ли флажок: прочее или нет?

$(document).ready(function () 
{
  $("#Other").on("click", function ()
    {
       // On this check box click event, i will have to enable radio buttons 
       document.getElementById('Yes').disabled = false;
       document.getElementById('No').disabled = false;
    });
});

1 Ответ

0 голосов
/ 13 сентября 2018

Чтобы инициировать событие щелчка на document.ready, вам нужно вызвать событие щелчка, которое вы определили для элемента.

$(document).ready(function() {
    $("#Other").on("click", function() {
        alert($(this).val());
    });
    $("#Other").trigger("click");
});

в приведенном выше событии щелчка на #Other определено.

$(document).ready(function() {
    $("#Other").on("click", function() {
        alert($(this).val());
    });
    $("#Other").trigger("click");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="Other" type="checkbox" value="Hello World">checkbox

Чтобы проверить, установлен ли флажок или нет, вы можете сделать

if ($("#Other").is(":checked")) {
    // do something if the checkbox is checked
}

$(document).ready(function() {
  if ($("#Other").is(":checked")) {
    $('input[type="radio"]').prop('checked', true); 
  } else {
    $('input[type="radio"]').prop('checked', false); 
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="Other" type="checkbox" value="Hello World" checked>checkbox1
<br>
<input type="radio" name="gender" value="radio"> radio<br>

Чтобы установить и снять флажок, ваш код выглядит следующим образом:

$(document).ready(function() {
  $("#Other").on("click", function() {
    if ($(this).is(":checked")) {
    $('input[type="radio"]').prop('checked', true); 
  } else {
    $('input[type="radio"]').prop('checked', false); 
  }
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="Other" type="checkbox" value="Hello World">checkbox1
<br>
<input type="radio" name="gender" value="radio"> radio<br>

Чтобы включить или отключить переключатель, вы можете добавить атрибут отключения.

$(document).ready(function() {
  $("#Other").on("click", function() {
    enblDsblChkb($(this));
  });
  
  enblDsblChkb($("#Other"));
  
  function enblDsblChkb($elem){
    if ($elem.is(":checked")) {
      $('input[type="radio"]').prop('disabled', false); 
    } else {
      $('input[type="radio"]').prop('disabled', true); 
    }
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="Other" type="checkbox" value="Hello World">checkbox1
<br>
<input type="radio" name="gender" value="yes"> Yes<br>
<input type="radio" name="gender" value="no"> No<br>
...