2009-07-28 13 views
4

lange Zeit Leser/Poster zum ersten Mal hier.Serialisierung eines Kontrollkästchens Array

Also habe ich eine Checkbox Array bekam, die auf meinem Tisch ganz gut geschrieben, wenn ich einen Ajax-Post über hatte:

var createListingString="&features=" + arrayCheckBox; 

Jetzt bin ich jquerying ALLES (und lieben es), aber jedes Mal, wenn ich versuche, mein Array mit data: $("#create_listing_1").serialize() zu posten, bekomme ich nur "Array" in dem Datensatz erstellt (anstelle der tatsächlichen Werte).

Meine Kontrollkästchen sind alle formatiert:

<input type="checkbox" name="features[]" value="Non-smoking" /> Non-smoking <br /> 

ich bin sicher, dass dies wahrscheinlich leicht gefallen ist, aber ich bin es schwierig macht. UND ich wollte meine erste Frage stellen. Jeder hier bietet eine erstaunliche Hilfe, danke dafür.

Antwort

2

Sie müssen wahrscheinlich zuerst das Array in einen String konvertieren, PHP wird Ihnen den String 'Array' geben, wenn es implizit konvertiert wird. Obwohl ich mir nicht sicher bin, wie es vorher geklappt hätte, entschuldigt ich mich, wenn ich es komplett missverstanden habe.

$string = implode(', ', $_POST['features']); 
+0

Ja, das war alles was ich brauchte. Vielen Dank, Tom! Gott ich liebe diese Website. – Adamjstevenson

3

Ich hatte gerade das gleiche Problem neulich. Hier ist, wie ich es gelöst habe:

var values = new Array(); 
$.each($("input[@name='features[]']:checked"), function() { 
    values.push($(this).val()); 
}); 
var createListingString = values.join(); 
+1

Sie können diese Zeichenfolge auch verwenden: 'var createListingString = JSON.stringify (Werte);' –

Verwandte Themen