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 に答える