J'ai plusieurs cases à cocher que je vais utiliser et chaque fois que je change la valeur de l'un d'entre eux, cela rend la valeur de tous les autres faux. La seule chose à laquelle je pourrais penser est que lorsque la valeur est changée et envoyée à validate.php, elle recherche également les autres valeurs et les ensembles en conséquence. Si c'est le cas, comment pourrais-je faire en sorte que seule la valeur prévue soit changée?Pourquoi mes cases à cocher désactivent-elles d'autres valeurs?
JavaScript/code JQuery Snippet (Il y a une fonction de changement pour chaque variable):
$(document).ready(function() {
var music = document.getElementsByName("music_status");
var music_value = document.getElementsByName("music_status")[0].value;
var rules = document.getElementsByName("rules_status");
var rules_value = document.getElementsByName("rules_status")[0].value;
var serverinfo = document.getElementsByName("serverinfo_status");
var serverinfo_value = document.getElementsByName("serverinfo_status")[0].value;
var module1 = document.getElementsByName("module1_status");
var module1_value = document.getElementsByName("module1_status")[0].value;
var module2 = document.getElementsByName("module2_status");
var module2_value = document.getElementsByName("module2_status")[0].value;
var module3 = document.getElementsByName("module3_status");
var module3_value = document.getElementsByName("module3_status")[0].value;
$(music).change(function() {
if ($(music_value).val() == 'false') {
$(music).val('true');
} else {
$(music).val('false');
}
window.location.href = 'validate.php?music_status=' + music_value;
})
$(rules).change(function() {
if ($(rules_value).val() == 'false') {
$(rules).val('true');
} else {
$(rules).val('false');
}
window.location.href = 'validate.php?rules_status=' + rules_value;
})
});
HTML Code Snippet (Avoir plus des cases à cocher avec le nom et les noms de variables changé):
<input type="checkbox" name="music_status" id="cmn-toggle-1" class="cmn-toggle cmn-toggle-round-flat" value="<?php echo $music_status?>" <?php if ($music_status == 'true') {?> checked <?}?>>
<label for="cmn-toggle-1"></label>
code validate.php:
if (isset($_GET["music_status"]) && $_GET["music_status"] == 'false') {
$config -> SetVar("music_status", 'true', "Music Status");
} else {
$config -> SetVar("music_status", 'false', "Music Status");
}
if (isset($_GET["rules_status"]) && $_GET["rules_status"] == 'false') {
$config -> SetVar("rules_status", 'true', "Rule Status");
} else {
$config -> SetVar("rules_status", 'false', "Rule Status");
}
if (isset($_GET["serverinfo_status"]) && $_GET["serverinfo_status"] == 'false') {
$config -> SetVar("serverinfo_status", 'true', "Server Info Status");
} else {
$config -> SetVar("serverinfo_status", 'false', "Server Info Status");
}
if (isset($_GET["module1_status"]) && $_GET["module1_status"] == 'false') {
$config -> SetVar("module1_status", 'true', "Module 1 Status");
} else {
$config -> SetVar("module1_status", 'false', "Module 1 Status");
}
if (isset($_GET["module2_status"]) && $_GET["module2_status"] == 'false') {
$config -> SetVar("module2_status", 'true', "Module 2 Status");
} else {
$config -> SetVar("module2_status", 'false', "Module 2 Status");
}
if (isset($_GET["module3_status"]) && $_GET["module3_status"] == 'false') {
$config -> SetVar("module3_status", 'true', "Module 3 Status");
} else {
$config -> SetVar("module3_status", 'false', "Module 3 Status");
}
Vous pouvez vérifier la propriété' checked' de vos cases à cocher au lieu de la propriété 'value' – theGleep