2017-01-31 7 views
0

Dies ist kein Duplikat von jeder Frage.Ich versuchte Stackoverflow Antworten, aber diese sind nicht hilfreich für mich.Aktivieren und deaktivieren Sie die Kontrollkästchen nach dem Klicken auf ein Kontrollkästchen in jQuery

Ich habe ein Select Checkbox.Wenn es alle anderen Kontrollkästchen aktiviert sind, wenn ich es deaktiviert alle anderen Kontrollkästchen deaktiviert sind. Das ist meine Aufgabe.

Ich versuchte es mit diesen Codes.Aber ich scheiterte. Irgendwelche Hilfe bitte. Danke.

HTML

<th width="10%" style="background-color: #cce5ff;"><input type="checkbox" id="<?php echo $user['user']->id; ?>" class="checkbox select_all user_<?php echo $user['user']->id; ?>" style="cursor: pointer;"></th> 

<td width="10%"> 
    <input type="checkbox" id="view_<?php echo $folder->id; ?>_<?php echo $user['user']->id; ?>" class="is_check_v check_this_<?php echo $user['user']->id; ?>" value="view" <?php if(isset($user['permission'])){if(!empty($user_permissions) && $user_permissions->can_view==1){ echo 'checked';}else{echo '';}}?> name="per">  

    <input type="hidden" id="h_view_<?php echo $folder->id; ?>_<?php echo $user['user']->id; ?>" name="view_permission[][<?php echo $folder->id; ?>][<?php echo $user['user']->id; ?>]" value="<?php if(!empty($user_permissions)){ echo $user_permissions->can_view;}else{ echo 0; } ?>"> 
      </td> 
      <td width="10%"> 
       <input type="checkbox" id="edit_<?php echo $folder->id; ?>_<?php echo $user['user']->id; ?>" class="is_check_e check_this_<?php echo $user['user']->id; ?>" value="edit" <?php if(isset($user['permission'])){if(!empty($user_permissions) && $user_permissions->can_edit==1){ echo 'checked';}else{echo '';}}?> name="per"> 
       <input type="hidden" id="h_edit_<?php echo $folder->id; ?>_<?php echo $user['user']->id; ?>" name="edit_permission[][<?php echo $folder->id; ?>][<?php echo $user['user']->id; ?>]" value="<?php if(!empty($user_permissions)){ echo $user_permissions->can_edit;}else{ echo 0; } ?>"> 
      </td> 
      <td width="7%"> 
       <input type="checkbox" id="delete_<?php echo $folder->id; ?>_<?php echo $user['user']->id; ?>" class="is_check_d check_this_<?php echo $user['user']->id; ?>" value="delete" <?php if(isset($user['permission'])){if(!empty($user_permissions) && $user_permissions->can_delete==1){ echo 'checked';}else{echo '';}}?> name="per"> 
       <input type="hidden" id="h_delete_<?php echo $folder->id; ?>_<?php echo $user['user']->id; ?>" name="delete_permission[][<?php echo $folder->id; ?>][<?php echo $user['user']->id; ?>]" value="<?php if(!empty($user_permissions)){ echo $user_permissions->can_delete;}else{ echo 0; } ?>"> 
      </td> 

jQuery

$(".select_all").click(function() { 

     user_id = $(this).attr('id'); 

     $.each($('.check_this_'+user_id),function(){ 
      $(this).prop("checked", $('.user_'+user_id).prop("checked"));     

      $(this).click(function(){ 
       $('.user_'+user_id).prop("checked", false);   
      }); 

     }); 

    }); 
+1

"* ... manchmal \ [es \ 'funktioniert nicht richtig *" - und was genau bedeutet das? Inwiefern funktioniert es "nicht richtig", was macht es falsch? Oder gar nicht? Wie oft "bricht" es manchmal als Reaktion auf ein bestimmtes Ereignis oder eine Interaktion? –

+1

Ich stimme ab, diese Frage in diesem Fall als off-topic zu schließen, weil es keine klare Erklärung gibt, was das Problem ist, wie es sich manifestiert, was der Code falsch macht oder überhaupt nicht tut. Bitte: Lesen Sie die Richtlinien "* [fragen] *" und geben Sie an, was mit Ihrem Code nicht stimmt. –

+0

@David Thomas: Vielen Dank für Ihren Rat und Entschuldigung für meine Fehler. Ich habe meine Frage aktualisiert. –

Antwort

2

versuchen, diese Trigger-Funktion für Sie hilfreich ist.

$(".select_all").click(function() { 

    user_id = $(this).attr('id'); 

    $.each($('.check_this_' + user_id), function() { 
    $(this).prop("checked", $('.user_' + user_id).prop("checked")); 
    $(this).trigger('change'); 
    $(this).click(function() { 
     $('.user_' + user_id).prop("checked", false); 
    }); 

    }); 

}); 
+1

Dank seiner Arbeit –

0

Geben Sie Ihren Eingabefeldern einen Klassennamen. Fügen Sie dann in Ihrer jquery-Funktion folgenden Code ein

Verwandte Themen