2011-01-11 5 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

здесь я хочу включить все дочерние checkboxex при нажатии «ВСЕ» chkbox – Harshil

+0

Я смущен, что ваш флажок «Все» отключен. Это, похоже, не имеет смысла. – JasCav

ответ

2

Вы не указали свою проблему в вопросе. Предполагая, что вы хотите, чтобы проверить все галочки с именем класса ребенка при нажатии на флажок chkMain

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

Также вы имеете недопустимый HTML. Более одного элемента имеет один и тот же идентификатор.

+0

+1 для ответа и для недействительного HTML. – JasCav

+0

oh, sry ... предположим, что chkbox пронумерован от 1 до 5, а затем все chkbox размещено !!! где я вставляю код выше? после, если o после еще ?? – Harshil

+0

Можете ли вы уточнить свое требование более четко? – rahul

0

Ваш вопрос очень неясен. Уже есть ответ для включения/выключения ваших флажков. Однако, основываясь на том, что я мог бы извлечь из вашего кода, кажется, что вы хотите создать флажок для проверки/снятия флажка?

Если да, то вы можете сделать следующее, как простая регистрация всех/снимите-все:

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

Ваших флажки, вероятно, должны содержать имя. Кроме того, использование одного и того же идентификатора на нескольких элементах DOM недопустимо и приведет к ошибкам.

Смежные вопросы