jquery - serializeArray() error
-
10-10-2019 - |
Question
im trying to pass an array as a string
$(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() );
});
});
but i get an error
args.serializeArray is not a function
can anyone see what im doing wrong?
Solution
serializeArray
is only available on jQuery objects. Since args
is a vanilla object, use $.param
:
loader($.param(args));
OTHER TIPS
args
is a normal javascript object, not a JQuery object.
From the docs,
This method can act on a jQuery object that has selected individual form elements, such as
<input>
,<textarea>
, and<select>
.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow