我试图将数组作为字符串传递
$(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
谁能看到我做错了什么?
答案 0 :(得分:6)
serializeArray
仅适用于jQuery对象。由于args
是一个vanilla对象,因此请使用$.param
:
loader($.param(args));
答案 1 :(得分:2)
args
是一个普通的javascript对象,而不是JQuery对象。
来自the docs,
此方法可以作用于jQuery对象 选择了个人表格 元素,例如
<input>
,<textarea>
, 和<select>
。