验证复选框是否被选中——代码哪里出了问题

Verifying if a checkbox is checked - what's wrong with the code?

本文关键字:问题 代码 验证 是否 复选框      更新时间:2023-09-26

我有一个简单的表单:

HTML:

<form>
   <input id="radio1" type="radio" name="radio-button" value="male" class="file">Choose a picture from file<br>
   <input id="radio2" type="radio" name="radio-button" value="female" class="choose">Use example picture<br>
 </form>

JS:

$(document).ready(function() {
   if($('#radio1').is(':checked')) { 
       alert("it's checked"); 
   }
 });

当我检查#radio1时,什么都没有发生,没有警报,控制台没有错误,发生了什么?

您正在测试当DOM准备好时是否选中了单选按钮,而当选中的状态改变

时是否未选中
$(document).ready(function() {
    $('#radio1').on('change', function () {
       if($(this).is(':checked')) { 
           alert("it's checked"); 
       };
   });
});

当文档准备好时,JS只执行一次:然后不选中复选框。你需要处理点击复选框

在这种情况下,您只检查是否在文档加载时检查。您应该将事件处理程序附加到复选框上,以查看该状态何时更改。检查一下:https://stackoverflow.com/a/7236837/146513