2017-12-17 15 views
1

入力チェックボックスがオンになっているかどうかを確認する必要があります。何かの要素がわかっていますが、何らかの理由で "find()"または "children )」それは私にエラー(ない関数)を与えている:両方動作しないJSで子供の入力がチェックされているかどうかを確認する

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

::/ 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/ 私が把握することはできません私は何をすべきそれを機能させるには そしておそらくcurrentSongは、現在再生中の曲でliのインデックスを含む私のvarですと推測できます。

答えて

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

ワーキングスニペット: -

$(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(){...});内のコードの折り返しが必要ですが、ページの下部にスクリプトが追加されている場合は不要です。

そして、あなたは、あなたが最終的にある上記の助けに基づいて正しい答えを得たことを言ったように: - このうち

<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> 

この意志

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

okですが、特定の#playlistの入力を確認する必要があります。これが最初のものです。そして、これは私が問題を抱えているところです。 – Vivent

+1

idは要素ごとに一意でなければならないので、最初に 'id = 'playlist''を' class =' playlist''に変換する必要があります。そして、各liをチェックするために '.each'を適用する必要があります。 。 –

+1

ok。私はそれを試してみます – Vivent

0

チェックあなたのjqueryに行く

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

ええ。ちょうどそれを理解した:D、しかし、ありがとう – Vivent

関連する問題