Pourquoi une seule valeur du tableau de valeurs de case à cocher "db" est-elle envoyée au script côté serveur?Tableau de valeurs de cases à cocher multiples
JQUERY:
$(".db").live("change", function() {
$(this).add($(this).next("label")).add($(this).next().next("br")).remove().insertAfter(".db:last + label + br");
var url = "myurl.php";
var db = [];
$.each($('.db:checked'), function() {
db.push($(this).val());
});
if(db.length == 0) {
db = "none";
}
$.post(url, {db: db}, function(response) {
$("#dbdisplay").html(response);
});
return true;
});
HTML:
<input type="checkbox" name="db[]" class="db" value="track"/><label for="track">track</label></br>
<input type="checkbox" name="db[]" class="db" value="gps"/><label for="gps">gps</label></br>
<input type="checkbox" name="db[]" class="db" value="accounting"/><label for="accounting">accounting</label></br>
Modifier: Je fini par répondre à ma propre question, mais ce que quelqu'un a des documents (ou une explication) des raisons pour lesquelles Ceci est nécessaire? C'était difficile pour moi de trouver la réponse exacte (donc le post posthume).
Bien sûr, il est documenté, puisque vous utilisez php en tant que script côté serveur, vérifiez ici: http://www.php.net/manual/en/faq.html.php#faq.html.arrays et ici: http://www.php.net/manual/ fr/language.variables.external.php –
Un peu hors sujet, la valeur 'for' de l'étiquette devrait être l'identifiant d'entrée, pas la valeur d'entrée. –