检查是否检查了子输入

时间:2017-12-17 16:47:11

标签: javascript jquery checkbox children

所以...我需要检查是否选中了输入复选框,我知道它是什么元素,但​​是,出于某种原因,当我尝试" find()"或者"孩子们()"它给了我一个错误(不是一个函数):/ 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索引。

2 个答案:

答案 0 :(得分:0)

你需要像下面这样做: -

$(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
  }
});

工作代码段: -

&#13;
&#13;
$(document).ready(function(){
  if($("#playlist li").children('input[type="checkbox"]').is(':checked')){
    alert('checked');
  }
});
&#13;
<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>
&#13;
&#13;
&#13;

注意: -

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

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

正如你所说,基于上述帮助你终于得到了正确答案: -

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

答案 1 :(得分:0)

检查出来

<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");
            }
        });
     });
 });