jquery - serializearray () ошибка
-
10-10-2019 - |
Вопрос
Я пытаюсь передать массив в качестве строки
$(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
Кто -нибудь может увидеть, что я делаю не так?
Решение
serializeArray
доступен только на объектах jQuery. С args
это ванильный объект, используйте $.param
:
loader($.param(args));
Другие советы
args
это нормальный объект JavaScript, а не объект jQuery.
Из Документы,
Этот метод может действовать на объекте jQuery, который выбрал отдельные элементы формы, такие как
<input>
,<textarea>
, а также<select>
.
Не связан с StackOverflow