2009-07-28 9 views
4

lecteur de longue date/affiche de première fois ici.Sérialisation d'un tableau de cases à cocher

J'ai un tableau de case à cocher affiché très bien à ma table quand j'avais un poste ajax via:

var createListingString="&features=" + arrayCheckBox; 

Maintenant, je suis jquerying TOUT (et aimer), mais chaque fois que je essayer de poster mon tableau avec data: $("#create_listing_1").serialize(), je viens d'obtenir "tableau" dans l'enregistrement qu'il crée (au lieu des valeurs réelles).

Mes cases à cocher sont tous formatés:

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

Je suis sûr que cela est probablement facile, mais je suis ce qui rend difficile. ET je voulais poster ma première question. Tout le monde ici fournit une aide incroyable, merci pour cela.

Répondre

2

Vous aurez probablement besoin de convertir le tableau en une chaîne, PHP vous donnera la chaîne 'Array' si elle est convertie implicitement. Bien que je ne sois pas sûr de la façon dont cela aurait fonctionné avant, je m'excuse si j'ai complètement mal compris.

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

Ouais, c'était tout ce dont j'avais besoin. Merci beaucoup, Tom! Dieu J'aime ce site web. – Adamjstevenson

3

Je viens d'avoir ce même problème l'autre jour. Voici comment je l'ai résolu:

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

Vous pouvez également utiliser cette chaîne: 'var createListingString = JSON.stringify (values);' –