使用友好键创建动态对象文字集合

时间:2014-12-26 20:31:06

标签: javascript jquery

我试图从动态构建表单输入创建一个对象文字集合,其中键值对与表单的输入名称和值匹配为"键值"对。

以下BuildDataCollection方法代码确实创建了集合,但它没有正确设置键。它指定迭代器编号而不是预期的键。

var PAS = {
    ReportData: {},        
    SubmitReport: function (ReportName) {
        //debugger
        this.BuildDataArray();

        $.ajax({
            type: 'POST',
            url: "/Monitor/_PAS_Report?ReportName=" + ReportName,
            data: this.ReportData,
        })
        .success(function (result) {                
           //get ajax response and display 
           $('#RprtContainer').html(result);
           $('#RprtContainer').show();
        })
        .error(function (xhr, status) {
            console.error(status);
        })

    },
    BuildDataCollection: function () {
        debugger
        obj = document.getElementById("PASParameterForm");
        arr_Input = obj.getElementsByTagName('input');
        var arIName ="", arIVal ="";
        for (i = 0; i < arr_Input.length; i++) {
            arIName = arr_Input[i].name;
            arIVal = arr_Input[i].value;
            this.ReportData[i] = { arIName:arIVal };
        }

    }

}

如何让它正常工作?

1 个答案:

答案 0 :(得分:0)

一旦我发现它,解决方案很简单,非常明显:

this.ReportData[i] = { arIName:arIval }; 

this.ReportData[arIName] = arIVal ;