Dlaczego tylko jedna wartość tablicy wartości pól wyboru "db" jest wysyłana do skryptu po stronie serwera?Tablica postów o wielu wartościach pól wyboru
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>
Edit: skończyło się odpowiedzi na moje własne pytanie, ale czy ktoś ma dokumentację (lub wyjaśnienie), dlaczego to jest niezbędne? Trudno było mi znaleźć dokładną odpowiedź (a więc pośmiertny post).
Jasne, to udokumentowane, ponieważ używasz php jako skrypt po stronie serwera, sprawdź tutaj: http://www.php.net/manual/pl/faq.html.php#faq.html.arrays i tutaj: http://www.php.net/manual/ pl/language.variables.external.php –
Nieco poza tematem, wartość 'for' etykiety powinna być identyfikatorem wejściowym, a nie wartością wejściową. –