2011-01-11 9 views
0
<body>           
<input type="checkbox" id="chkMain" /> 
<input type="checkbox" id="chkMain1" /> 
<input type="checkbox" id="chkMain2" /> 

<br> 
<P><input class="child" type="checkbox" id="chk1" disabled="true" /> 
<input class="child" type="checkbox" id="chk" disabled="true" /> 
<input class="child" type="checkbox" id="chk" disabled="true" /> 
<input class="child" type="checkbox" id="chk" disabled="true" /> 
<input class="child" type="checkbox" id="chk" disabled="true" /> 
<input class="child" type="checkbox" id="chk" disabled="true" /> 
<input class="child" type="checkbox" id="chk_all" disabled="true" />ALL</p></br> 


$(function(){   
    $("input[id^=chkMain]").click(function(){    
     var otherCks = $("input[id^=chkMain]").not(this); 
     if(!$(this).is(":checked")) {       
      $(".child").attr("disabled" , true);          
      otherCks.removeAttr ("disabled"); 
     }     
     else {       
      $(".child").removeAttr ("disabled");     
      otherCks.attr("disabled" , true) 
     }   
    });  
}); 
+0

hier ich möchte alle untergeordneten checkboxex aktivieren, wenn auf "ALL" chkbox – Harshil

+0

Ich bin verwirrt, dass Ihre "Alle" Checkbox deaktiviert ist. Dies scheint keinen Sinn zu ergeben. – JasCav

Antwort

2

Sie haben Ihr Problem in der Frage nicht erwähnt. Vorausgesetzt, dass Sie alle Kontrollkästchen mit Klassennamen Kind überprüfen möchten, wenn Checkbox chkMain

Klick auf
$(function(){ 
    $("#chk_all").click(function(){ 
     $("input:checkbox").attr("disabled", !(this.checked)); 
    }); 
}); 

Auch haben Sie eine ungültige HTML. Mehr als ein Element hat dieselbe ID.

+0

+1 für die Antwort und für das ungültige HTML. – JasCav

+0

oh, sry ... nehme an, die chkbox nummeriert von 1 bis 5 dann ist die ganze chkbox plaziert !!! Wo kann ich den obigen Code einfügen? nach, wenn o nach sonst ?? – Harshil

+0

Können Sie Ihre Anforderung etwas klarer angeben? – rahul

0

Ihre Frage ist sehr unklar. Es gibt bereits eine Antwort, um Ihre Checkboxen zu aktivieren/deaktivieren. Basierend auf dem, was ich aus Ihrem Code entnehmen konnte, scheint es so, als wollten Sie ein Kontrollkästchen zum Aktivieren/Deaktivieren erstellen.

Wenn ja, könnten Sie die folgenden als einfaches Check-alle tun/deaktivieren-all:

<script type="text/javascript"> 
$(document).ready(function() { 
    $('input.check_all').click(function() { 
     if ($(this).attr('checked')) 
     { 
      $('input.child, input.check_all').attr('checked', 'checked'); 
     } 
     else 
     { 
      $('input.child, input.check_all').removeAttr('checked'); 
     } 
    }); 
}); 
</script> 

<input class="check_all" type="checkbox" name="foo[]" /> All<br /> 
<input class="child" type="checkbox" name="foo[]" /><br /> 
<input class="child" type="checkbox" name="foo[]" /><br /> 
<input class="child" type="checkbox" name="foo[]" /><br /> 
<input class="child" type="checkbox" name="foo[]" /><br /> 
<input class="child" type="checkbox" name="foo[]" /><br /> 
<input class="child" type="checkbox" name="foo[]" /><br /> 
<input class="child" type="checkbox" name="foo[]" /><br /> 
<input class="child" type="checkbox" name="foo[]" /><br /> 
<input class="child" type="checkbox" name="foo[]" /><br /> 
<input class="child" type="checkbox" name="foo[]" /><br /> 

Ihre Kontrollkästchen wahrscheinlich einen Namen enthalten sollte. Außerdem ist die Verwendung derselben ID für mehrere DOM-Elemente nicht zulässig und führt zu Fehlern.

Verwandte Themen