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