2017-02-02 21 views
0

jqueryベースのアプリケーションを開発中です。私はすべての行にチェックボックスを持つasp.net gridviewを1つ持っています。私はチェックボックスのいずれかがチェックされているかどうかをチェックしたい。私はグリッドビューの行をループしており、チェックボックスをチェックするかどうかは以下のようにチェックされます。jqueryを使用してgridviewをループし、チェックボックスがチェックされているかどうかをチェックする方法

var ResultArrayFirst = []; 
     $('#<%= gdvRegretletter.ClientID %> input[type="hidden"]').each(function() { 
      if ($(this).closest('tr').find('input[type="checkbox"]').prop('checked', true)) 
      { 
       ResultArrayFirst.push($(this).val()); 
      } 

     }); 
     alert(ResultArrayFirst); 

上記のコードは機能しません。上記のコードが実行されるとすぐに、すべてのチェックボックスがチェックされます。私はここで何が欠けているのか分かりません。どんな助けもありがとう。ありがとうございました。

答えて

2

チェックボックスがチェックされている場合は、チェックこの使用するには:だから

if (checkbox.is(':checked')) { 
    // Do your stuff 
} 

を、このようにコードを変更:

if ($(this).closest('tr').find('input[type="checkbox"]').is(':checked')) 
{ 
    ResultArrayFirst.push($(this).val()); 
} 
2

あなたはjqueryの

$('#<%= gdvRegretletter.ClientID %> input[type="hidden"]').each(function() { 
    if ($(this).closest('tr').find('input[type="checkbox"]').is(":checked")) 
    { 
     ResultArrayFirst.push($(this).val()); 
    } 

    }); 
1
:checkedセレクタを使用することができます

例をchkとして、を使用するようにクラスにチェックボックスを付けるだけです代わりに、それは、配列内の項目を達成するために単一のコード行の下に見つけてください取得する各ループの

var selected = $(".chk:checked").map(function(i,el){return el.value;}).get(); 

だけでなく、あなたが任意のチェックボックスがチェックされている場合だけチェックしたいか、あなたが以下のように行うことができない場合などboolの値を返します。

$(".chk").is(":checked") 
関連する問題