2010-12-08 2 views
1

im essayant de passer un tableau comme une chaînejquery - serializeArray() Erreur

$(document).ready(function(){ 
var args = {}; 
$('.radio').click(function(){ 
    var ob = $(this).siblings('select'); 
    $('#uploader-wrapper').html(pre_load()); 
    $('.radio').siblings('select').attr('disabled', 'disabled'); 
    ob.removeAttr('disabled'); 
    args[ob.attr('name')] = $(':selected', ob).text(); 
    loader(args.serializeArray()); 
}) 
$('select[name=foo]').change(function(){ 
    var ob = $(this); 
    $('#uploader-wrapper').html(pre_load()); 
    args[ob.attr('name')] = $(':selected', ob).text(); 
    loader(args.serializeArray()); 
}); 
}); 

mais je reçois une erreur

args.serializeArray is not a function

quelqu'un peut-il voir ce que im faire mal?

Répondre

4

serializeArray est uniquement disponible sur les objets jQuery. Depuis args est un objet de vanille, utilisez $.param:

loader($.param(args)); 
+0

Merci, fonctionne comme un charme. –

+0

Utile pour moi aussi! + –

2

args est un objet javascript normal, pas un objet JQuery.

De the docs,

Cette méthode peut agir sur un objet jQuery qui a choisi la forme individuelle des éléments , tels que <input>, <textarea>, et <select>.