迭代输入并将数据传递给AJAX函数

时间:2013-02-09 03:27:38

标签: javascript

我循环遍历几个输入并尝试将该数据附加到一个对象中,然后我可以将其传递给AJAX函数。我不太确定我做错了什么,但我一直收到"Uncaught SyntaxError: Unexpected token )"的错误,我找不到这个额外的括号,我想我一定是这样做的。

var dataObject = [];

$("#"buttonId).find("input").each(function(index) {

    inputId = $(this).attr("id").replace(buttonId, "");
    inputValue = $(this).val();

    var data = { 
       inputId : inputValue;
    }

    dataObject.push(data);
});

$.post(
    'ajax/' + buttonId + '.php', 
    {
        dataObject: dataObject
    },
    function (response) {
    }
);

1 个答案:

答案 0 :(得分:2)

您缺少+字符串连接。

$("#"buttonId)
//   ^----

此外,您不能在对象文字中使用变量作为属性名称,请尝试:

var data = {}; 
data[inputId] = inputValue;
dataObject.push(data);

您还可以使用map方法:

var dataObject = $("#" + buttonId).find("input").map(function() {
    var inputId = this.id.replace(buttonId, ""),
        obj = {};
    obj[inputId] = this.value;
    return obj;
}).get();

.serializeArray()方法。