Modifier l’état de la case à cocher lors du chargement d’une page à l’aide de PHP avant toute autre fonctionnalité

Ok, donc ce que je fais a plusieurs parties qui y sont associées.

Voici les étapes à suivre:

  1. Je charge une table de cases à cocher en utilisant PHP (il y a une table avec 9 lignes (identifiées par un identifiant de 4 à 12) et 3 colonnes (identifiées avec une valeur de 1 à 3))

  2. Une fois la page chargée, l’état des cases à cocher doit changer. Si certaines cases sont cochées, certaines autres doivent être désactivées.

  3. J’utilise une fonction de changement JQuery pour voir quelles cases ont été cochées ou décochées. Ici, je désactive ou active les cases à cocher en utilisant la même logique à l’étape 2 en fonction de la sélection de l’utilisateur.

  4. Chaque fois qu’une case est cochée ou décochée une fois la page chargée, je génère un fichier JSON, le place dans un tableau et le publie sur une autre page en cliquant sur le bouton d’envoi.

Les étapes 1, 3 et 4 me conviennent donc. Il me faut de l’aide pour changer l’état de la case à cocher une fois la page chargée.

Comment puis-je utiliser la même logique que celle que j’utilise pour désactiver les cases à cocher, une fois que l’état de la case à cocher a été modifié pour fonctionner une fois la page chargée?

Voici mon JavaScript:

$(document).ready(function(){ var obj = {}; var obj1 = {}; var array = new Array(); $("input[type='checkbox']").change(function() { if((this.id=='5' || this.id=='6' || this.id=='7' || this.id=='8' || this.id=='9' || this.id=='10' || this.id=='11' || this.id=='12') && this.value=='1') { var checkedId = this.id; var checkedOrNot = $(this).is(':checked'); $("input[type='checkbox']").each(function() { if(this.id==checkedId && (this.value=='2' || this.value=='3')) { if(checkedOrNot) { $(this).attr("disabled",true); } else { $(this).attr("disabled",false); } } }); } if((this.id=='5' || this.id=='6' || this.id=='7' || this.id=='8' || this.id=='9' || this.id=='10' || this.id=='11' || this.id=='12') && this.value=='2') { var checkedId = this.id; var checkedOrNot = $(this).is(':checked'); $("input[type='checkbox']").each(function() { if(this.id==checkedId && (this.value=='1' || this.value=='3')) { if(checkedOrNot) { $(this).attr("disabled",true); } else { $(this).attr("disabled",false); } } }); } if((this.id=='5' || this.id=='6' || this.id=='7' || this.id=='8' || this.id=='9' || this.id=='10' || this.id=='11' || this.id=='12') && this.value=='3') { var checkedId = this.id; var checkedOrNot = $(this).is(':checked'); $("input[type='checkbox']").each(function() { if(this.id==checkedId && (this.value=='1' || this.value=='2')) { if(checkedOrNot) { $(this).attr("disabled",true); } else { $(this).attr("disabled",false); } } }); } if(this.id=='4' && this.value=='1') { if($(this).is(':checked')) { $("input[type='checkbox']").each(function(){ if(this.id=='4' && this.value=='1') { } else { $(this).attr("disabled",true); } }); } else { $("input[type='checkbox']").each(function(){ if(this.id=='4' && this.value=='1') { } else { $(this).attr("disabled",false); } }); } } if(this.id=='4' && this.value=='2') { if($(this).is(':checked')) { $("input[type='checkbox']").each(function(){ if(this.id=='4' && this.value=='2') { } else { $(this).attr("disabled",true); } }); } else { $("input[type='checkbox']").each(function(){ if(this.id=='4' && this.value=='2') { } else { $(this).attr("disabled",false); } }); } } if(this.id=='4' && this.value=='3') { if($(this).is(':checked')) { $("input[type='checkbox']").each(function(){ if(this.id=='4' && this.value=='3') { } else { $(this).attr("disabled",true); } }); } else { $("input[type='checkbox']").each(function(){ if(this.id=='4' && this.value=='3') { } else { $(this).attr("disabled",false); } }); } } //Other functionality }); }); 

METTRE À JOUR

La table PHP est en tant que telle:

 <?php foreach($a as $b) { if ($s["id"]== $b["c"]) { if($b["p"] == "e") { echo ''; }else { echo ''; } if($b["p"] == "r") { echo ''; }else { echo ''; } if($b["p"] == "b") { echo ''; }else { echo ''; } }else { echo ''; echo ''; echo ''; } } ?> 

Les valeurs id varient de 4 à 12.

Les conditions sont comme telles:

Si une case à cocher dans les lignes 5 à 12 est sélectionnée, toutes les autres cases à cocher de la même ligne doivent être désactivées.

Si une case à cocher dans la première ligne est sélectionnée, toutes les autres cases à cocher du tableau doivent être désactivées.

Une autre mise à jour

Les cases à cocher auront donc les valeurs suivantes: [id: valeur]

 [4,1] [4,2] [4,3] [5,1] [5,2] [5,3] [6,1] [6,2] [6,3] [7,1] [7,2] [7,3] [8,1] [8,2] [8,3] [9,1] [9,2] [9,3] [10,1] [10,2] [10,3] [11,1] [11,2] [11,3] [12,1] [12,2] [12,3] 

Il existe diverses possibilités, de sorte que vous pouvez supposer que toute case à cocher est sélectionnée. Mais toutes les conditions devraient être remplies.

ENCORE UNE AUTRE MISE À JOUR:

 $(document).ready(function() { $("input[type='checkbox']").each(function() { if($(this).attr("checked",true)) { var id = mainid; var value = this.value; var idn = this.id; if(id == "4") { $("input[type='checkbox']").each(function() { $(this).attr("disabled",true); }); } else { $("input[type='checkbox']").each(function() { if(this.value == value) { $(this).attr("disabled",true); idn = ++id; } }); } } }); }); 

Veuillez utiliser le code suivant pour votre utilisation, démonstration comme suit:

Supposons que les valeurs suivantes soient sélectionnées dans la firebase database

 "1"); //where 5 is id of the check box and 1 is value ?>  

Le script ci-dessus désactive toutes les cases à cocher de valeur 1, c’est-à-dire la première ligne dans le cas ci-dessus.

si on suit

 "1"); //where 5 is id of the check box and 1 is value ?> Above script will disable all the checkboxes found on the page. hope this will help you complete your work 

Mettre à jour

Essaye ça

 $(document).ready(function(){ $("input[type='checkbox']").each(function() { if($(this).attr("checked",true)) { var id = mainid; var value = this.value; var idn = this.id; if(id == "4") { $("input[type='checkbox']").each(function() { $(this).attr("disabled",true); }); } else { $("input[type='checkbox']").each(function() { if(this.value == value) { $(this).attr("disabled",true); idn = ++id; } }); } } }); }); 

vous devez définir mainid bien ..