2010-12-07 11 views
1
<table> 
<tbody> 
    <tr> 
    <td> 
     <span>A_Group</span> 
     <input type="hidden" value="1" id="ContentPlaceHolder1_rptFleet_hiddenFleetID_0" name="ctl00$ContentPlaceHolder1$rptFleet$ctl00$hiddenFleetID"> 
    </td> 
    <td> 
     <span name="chkGroupName"> 
     <input type="checkbox" onclick="jqCheckAll3(ContentPlaceHolder1_rptFleet_chkFleetName_0,1);" name="ctl00$ContentPlaceHolder1$rptFleet$ctl00$chkFleetName" id="ContentPlaceHolder1_rptFleet_chkFleetName_0"> 
     <label for="ContentPlaceHolder1_rptFleet_chkFleetName_0">Select All</label> 
     </span> 
    </td> 
    </tr> 
    <tr> 
    <td> 
     <div id="1"><table cellspacing="5" cellpadding="5" id="ContentPlaceHolder1_rptFleet_chkListDevice_0"> 
     <tbody> 
      <tr> 
       <td> 
        <input type="checkbox" value="1" name="ctl00$ContentPlaceHolder1$rptFleet$ctl00$chkListDevice$0" id="ContentPlaceHolder1_rptFleet_chkListDevice_0_0_0"> 
        <label for="ContentPlaceHolder1_rptFleet_chkListDevice_0_0_0">name 2</label> 
       </td> 
       <td> 
        <input type="checkbox" value="2" name="ctl00$ContentPlaceHolder1$rptFleet$ctl00$chkListDevice$1" id="ContentPlaceHolder1_rptFleet_chkListDevice_0_1_0"> 
        <label for="ContentPlaceHolder1_rptFleet_chkListDevice_0_1_0">name 4</label> 
       </td> 
       <td> 
        <input type="checkbox" value="3" name="ctl00$ContentPlaceHolder1$rptFleet$ctl00$chkListDevice$2" id="ContentPlaceHolder1_rptFleet_chkListDevice_0_2_0"> 
        <label for="ContentPlaceHolder1_rptFleet_chkListDevice_0_2_0">name 4</label> 
       </td> 
      </tr> 
     </tbody> 
     </table> 
     </div> 
     </td> 
    </tr> 
    </tbody> 
</table> 


function jqCheckAll3(id, pID) { 
$("#" + pID + " :checkbox").attr('checked', $('#' + id).is(':checked')); 
} 

すべてjqueryを使用してdivステータス内のチェックボックスを切り替える方法は?私は、ユーザーがチェックボックスをクリックしたときのdiv = 1内のすべてのチェックボックスのチェックを外す/チェックしたい

+0

... jsfiddle

・ホープ、このヘルプで働くすべてのものへのリンクですか? iPhoneで読むことは、まあ、ちょっと厄介です。 –

答えて

0

あなたのIDを引用符で囲む必要を選択し、この:

onclick="jqCheckAll3(ContentPlaceHolder1_rptFleet_chkFleetName_0,1); 
にする必要があり

onclick="jqCheckAll3('ContentPlaceHolder1_rptFleet_chkFleetName_0', '1'); 

id="1"はHTML4では無効ですが、スクリプトエラーを発生させる引用符がないことが現在の問題です。

<script type="text/javascript"> 
$(function() { 
    $("input.checkAll").change(function() { 
    $(this).closest("tr").next().find(":checkbox").attr("checked", this.checked); 
    }); 
}); 
</script> 

は次にこのコードの1セットは、これらすべての状況での作品:


簡単な方法は、全体的に、あなたはこれを行うことができ、class="checkAll"のように、代わりにCssClass経由クラスというチェックボックスを与えることになりますページ(マークアップ/レイアウトが同じであると仮定します)。

0

私はこれを少し違って入れます。問題を理解している場合は、すべてのチェックボックスをオンにするか、1つのチェックボックス(すべて選択)に基づいてすべてのチェックボックスをオフにします。

最初にまずニックが指摘したように、divのIDとして「1」を使用しないでください。そしてまた、あなたがこのような特定のdiv要素の子であるすべてのチェックボックスを取得するには、単一の選択ステートメントを使用することができます...

//notice I changed the name of the div to myDiv 
var isChecked = $(this).attr('checked'); 
$('#myDiv input:checkbox').attr('checked', isChecked); 

これはその後、IDでのdiv、チェックボックスある任意の入力を選択します。 "select all"チェックボックス(これはonclickイベントで呼び出されます)のチェック値を取得し、その値を使用してチェックボックスの値を設定します。

マークアップで関数呼び出しを行う代わりに、イベントの配線をdocument.readyイベントに移動することもできますが、これはほんの好みです。ここで

はあなたのコード内でいくつかの新しいラインを入れてしまう、あの

関連する問題