2

我试图将数组作为字符串传递

$(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() );
});
});

但我得到一个错误

args.serializeArray is not a function

谁能看到我做错了什么?

4

2 回答 2

6

serializeArray仅在 jQuery 对象上可用。由于args是香草对象,请使用$.param

loader($.param(args));
于 2010-12-08T20:59:42.283 回答
2

args是一个普通的 javascript 对象,而不是一个 JQuery 对象。

文档中,

此方法可以作用于已选择单个表单元素(例如 、 和 )的<input>jQuery<textarea>对象<select>

于 2010-12-08T20:57:20.763 回答