JQuery 获取单选按钮选择

Ron*_*her 5 html javascript php ajax jquery

我正在尝试使用 JQuery 和 Ajax 来提交一组表单。表单并不总是具有相同数量的输入或相同的元素名称。

除了获取选中哪个单选按钮的值之外,该代码对我所拥有的一切都很好。它总是返回最后一个单选按钮的值。

这是我获取表单数据的方式:

var values = {};
var formdata = new FormData();
$('form :input').each(function()
{
    formdata.append(this.name, $(this).val());
});
Run Code Online (Sandbox Code Playgroud)

我也试过:

$('form.ajax :input, form.ajax input[type=radio]:checked').each(function()
Run Code Online (Sandbox Code Playgroud)

获取选中单选按钮值的正确方法是什么?我希望不必为我提交的每个表单编写单独的函数。

Aru*_*hny 3

首先,您可以选择除复选框和单选框之外的所有输入元素,然后附加所选复选框和单选框元素的值

var values = {};
var formdata = new FormData();
$('form').find(':input:not(:checkbox, :radio)').each(function () {
    formdata.append(this.name, $(this).val());
});

$('form').find(':checkbox:checked, :radio:checked').each(function () {
    formdata.append(this.name, $(this).val());
});
Run Code Online (Sandbox Code Playgroud)

为什么不尝试下面的方法而不是手动创建表单数据

var formdata = new FormData($('form')[0]);
Run Code Online (Sandbox Code Playgroud)