检查是否检查了子输入

checking if child input is checked

所以...我需要检查输入复选框是否被选中,我知道它在哪个元素中,但是,出于某种原因,当我尝试 "find()" 或 "children()" 时,它给出了我是一个错误(不是函数):/ html:

  <ul id="playlist">    
<li class="current-song hińska_muzyka"><input type="checkbox" checked class="hińska_muzyka_ch"/><a href="somme_src">name</a></li>
</ul>

JS:

alert($("#playlist li")[currentSong].children('input').checked);
alert($("#playlist li")[currentSong].find('input').checked);

在 js 中都不起作用:/ 我不知道我应该怎么做才能让它发挥作用。 你可能会推断出 currentSong 是我的 var,它包含 li 的索引和当前正在播放的歌曲。

你需要像下面那样做:-

$(document).ready(function(){ // on document ready
  if($("#playlist li").children('input[type="checkbox"]').is(':checked')){ // check tat checkbox is  checked or not?
   alert('checked'); // if yes then alert message
  }
});

工作片段:-

$(document).ready(function(){
  if($("#playlist li").children('input[type="checkbox"]').is(':checked')){
    alert('checked');
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul id="playlist">    
  <li class="current-song hińska_muzyka">
    <input type="checkbox" checked class="hińska_muzyka_ch"/><a href="somme_src">name</a>
  </li>
</ul>

注:-

jQuery 脚本代码之前需要库才能使其工作。

如果在页面顶部添加脚本代码,则需要在 $(document).ready(function(){...}); 内包装代码,但如果在页面底部添加脚本,则不需要。

正如您所说,您最终根据上述帮助得到了正确答案:-

$(".playlist li").each(function (i){ 
   if($(this).index()==currentSong){ 
      alert($(this).children('input[type="checkbox"]').is(':ch‌​ecked')); 
      return false; 
   } 
});

看看这个

<ul id="playlist">    
<li class="current-song hińska_muzyka">
  <input type="checkbox" checked class="hińska_muzyka_ch"/> 
  <a href="somme_src">Tpain</a>
</li>
<li class="current-song hińska_muzyka">
  <input type="checkbox" checked class="hińska_muzyka_ch"/> 
  <a href="somme_src">Chris Brown</a>
</li>

这将适用于您的 jquery

$(document).ready(function(){
    $("#playlist li input[type='checkbox']").each(function(){
        $(this).change(function(){
            if($(this).is(":checked")) {
                alert("checked");
            }
        });
     });
 });