使用jquery.each()循环创建对象键

Jon*_*use 3 javascript jquery undefined

我正在javascript中创建一个名称空间来遍历表单并创建一个对象.调用时函数的目标是要遍历所有某种形式的类型,并构建具有关键是HTML输入的名字和值作为当前值的对象.但是,它不断返回undefined.

任何帮助将不胜感激:

get_form_data.radio = function(container) { //will return the value 
    var data = {}; //function data object to return
    container.find('input[type="radio"]:checked').each(function() {

        var current_object = {}; //loop temporary object
        var current = $(this); //current element
        var current_key = current.attr('name'); //property category
        var current_value = current.attr('value'); //value to update the database with
        current_object[current_key] = current_value; //temporary object
        console.log(current_object.length); //RETURNS UNDEFINED
        $.extend(data, current_object);

    });

    console.log(data.length); //returns undefined
    return data;
}?
Run Code Online (Sandbox Code Playgroud)

Ric*_*gan 8

您希望var current_object = {};.each()通话中获取声明..each()函数的每次迭代都重新声明它,并有效地擦除它.并且忘记了$.extend().

var data = {};
container.find('input[type="radio"]:checked').each(function() {
    data[this.name] = this.value;
});
return data;
Run Code Online (Sandbox Code Playgroud)

通过快速浏览当前代码未经测试.