2016-11-09 13 views
-1

グリッドヘッダーにはすべての列名にチェックボックスがあり、最後の列にはチェックボックス付きの再割り当て列が含まれています。最後の列のすべてのセルにチェックボックスが含まれています。だから、ヘッダ内のチェックボックスをチェックすると、そのperticularカラムのチェックボックスがすべてチェックされます。このために、私はjleryを.liveで使用しました。その100%完璧な作業です。しかし、.liveの代わりに.Onを使用したい場合、それは動作しません。ここでは、jqueryコードとそのライブラリを保持しています。この問題で私を助けてください。前もって感謝します。 .liveためJquery .Onが動作していません.liveが動作しています

jqueryの: $( "#<% = rgCaseRM.ClientID%>入力[ID * = 'chkHeaderRM']:チェックボックス")。(( "クリック"、機能生きる){

 var chkHeader = $(this); 
     $("#<%=rgCaseRM.ClientID%> input[id*='chkReAssign']").each(function (index) { 
      if (chkHeader.is(":checked")) { 
       $("td", $(this).closest("tr")).addClass("selected"); 
       $(this).attr('checked', true); 
       $("#<%=divRM.ClientID%>").show(); 
      } 
      else { 
       $(this).attr('checked', false); 
       $("td", $(this).closest("tr")).removeClass("selected"); 
       $("#<%=divRM.ClientID%>").hide(); 
      } 
     }); 
    }); 

$( "#<%= rgCaseRM.ClientID%>入力[ID * = 'chkReAssign']:チェックボックス"):ライブ( "クリック"、関数(){ var grid = $(this).closest var chkHeader = $( "#$ 38") ";チェック("チェックボックス " )){ $( "td"、$(this).closest( "tr"))。removeClass( "selected"); chkHeader.removeAttr( "checked"); } else { $( "td"、$ this).closest( "tr"))addClass( "selected"); chkHeader.attr( "checked"、 "checked"、grid)。 if($( "[id * = chkReAssign]"、グリッド).length == $( "[id * = chkReAssign] "); } } var checkedCheckboxes = $( "#<%= rgCaseRM.ClientID%> input [id * = 'chkReAssign']:チェックボックス:チェック済み))size(); 'ON' に以下の 'ライブ' を交換するには

 if (checkedCheckboxes > 0) { 
      $("#<%=divRM.ClientID%>").show(); 
     } 
     else { 
      $("#<%=divRM.ClientID%>").hide(); 
     } 
    }); 
+0

'.on()'だけではない、としてこれを変更する必要があります'.live()'の代わりにドロップすると、@Arunaが下を指すように、親要素のセレクタを追加してデリゲートリスナをアタッチする必要があります – jmoerdyk

答えて

1

$('selector').live('event', func); 

あなたは

$(document).on('event', 'selector', func); 
関連する問題