2013-10-14 3 views
0

En utilisant cette réponse How to get all child inputs of a div element (jQuery) Je récupère toutes les entrées dans un <div> spécifique. Je veux en outre envoyer les entrées via ajax, le nombre d'entrées n'est pas fixe donc au lieu de mettre manuellement chaque entrée dans les données json à envoyer, je veux utiliser each() et - voici le point où je ne sais pas Je sais - ajouter chaquename et value à json.Rassemblez les entrées dans JSON

$('#mydiv :input').each(function(k, v) { 
    postData += [{ $(v).attr("name"): $(v).val() }]; 
} 

$.post("url.htm", postData, function(data) { /***/ }); 

Il doit y avoir une petite erreur à l'intérieur, mais je ne peux pas comprendre.

+0

Quel est le type de 'postData' dans votre cas? –

+0

@Sniffer 'postData' est JSON utilisé par jQuery – DanFromGermany

Répondre

1

On dirait que la fonction serializeArray est ce que vous avez besoin:

$.post("url.htm", $('#mydiv :input').serializeArray(), function(data) { /***/ }); 
0

Puisque vous voulez envoyer postdata, essayez de faire un tableau d'abord, puis vous devez faire comme ce

var postData=[]; 

('#mydiv :input').each(function(k, v) { 
    postData.push({ $(v).attr("name"): $(v).val() }); 
} 

$.post("url.htm", postData, function(data) { /***/ }); 

A mot de prudence, lors de l'appel POST, spécifiez le 4ème paramètre comme "json" dans le cas où la réponse attendue est JSON.

Questions connexes