如何通过AJAX发送单选按钮值?

时间:2015-06-08 18:38:44

标签: javascript jquery ajax input radio-button

我创造了一个"全球" ajax-modal-function,用于发送带有data-array存储在父#modal-content的值的ajax-requests。

HTML字段的外观(作为示例):

<input data-array='data[]' name='gender' type='radio' value='1' /> 
<input data-array="data[]" type="password" name="password" />

在我使用tha $ .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中,并且工作正常。

但现在我有这个无线电输入字段或复选框。我如何获取数组中的值来存储其值,具体取决于用户是否单击它?

1 个答案:

答案 0 :(得分:2)

单选按钮和复选框具有属性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();