如何通过 AJAX 发送单选按钮值?
How to send a radio button value via AJAX?
我创建了一个 "global" ajax-modal-function,它发送 ajax-requests,其值存储在父 #modal-content
的 data-array
中.
这就是 HTML 字段的样子(作为示例):
<input data-array='data[]' name='gender' type='radio' value='1' />
<input data-array="data[]" type="password" name="password" />
这就是我在使用 $.ajax JQuery 函数获取当前模式的每个输入字段的所有数据之前存储数据的方式:
var data_array = $('#modal-content').find('*[data-array]').map(function(idx, elem) {
return elem.value.trim();
}).get();
那么 $.ajax 函数如下所示:
$.ajax({
type: "POST", url: "ajax_modal.php", dataType: "json",
data: {
data: data_array,
data_case: data_case,
id: id,
uid: uid,
dataString: 'modal_save'
},
success: function(data) {
所以数组存储在 data_array
中并且工作正常。
但现在我有了这个单选输入字段或复选框。如何根据用户是否单击它来获取数组中的值以存储其值?
单选按钮和复选框有 属性 checked
。如果您所在的输入元素属于 type
.
,您应该明确检查这一点
var data_array = $('#modal-content').find('*[data-array]').map(function(idx, elem) {
if (elem.type === 'radio' || elem.type === 'checkbox') {
return elem.checked && elem.value;
} else {
return elem.value.trim();
}
}).get();
我创建了一个 "global" ajax-modal-function,它发送 ajax-requests,其值存储在父 #modal-content
的 data-array
中.
这就是 HTML 字段的样子(作为示例):
<input data-array='data[]' name='gender' type='radio' value='1' />
<input data-array="data[]" type="password" name="password" />
这就是我在使用 $.ajax JQuery 函数获取当前模式的每个输入字段的所有数据之前存储数据的方式:
var data_array = $('#modal-content').find('*[data-array]').map(function(idx, elem) {
return elem.value.trim();
}).get();
那么 $.ajax 函数如下所示:
$.ajax({
type: "POST", url: "ajax_modal.php", dataType: "json",
data: {
data: data_array,
data_case: data_case,
id: id,
uid: uid,
dataString: 'modal_save'
},
success: function(data) {
所以数组存储在 data_array
中并且工作正常。
但现在我有了这个单选输入字段或复选框。如何根据用户是否单击它来获取数组中的值以存储其值?
单选按钮和复选框有 属性 checked
。如果您所在的输入元素属于 type
.
var data_array = $('#modal-content').find('*[data-array]').map(function(idx, elem) {
if (elem.type === 'radio' || elem.type === 'checkbox') {
return elem.checked && elem.value;
} else {
return elem.value.trim();
}
}).get();