1

我正在循环几个输入并尝试将该数据附加到一个对象中,然后我可以将其传递给 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) {
    }
);
4

1 回答 1

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()方法。

于 2013-02-09T03:29:49.380 回答