从JqGrid值加载二维Javascript数组

时间:2014-02-03 23:22:34

标签: javascript jquery arrays jqgrid

在我的应用程序中,我将隐藏值存储在我的jqgrid的10行中。这些隐藏值是我的应用程序执行结果的响应。

例如,我有两个名为“responseId”的隐藏JqGrid列,以及我的jqgrid中名为summaryGrid的“responseMsg”。

我想循环遍历#summaryGrid jQgrid的10行中的每一行,并在10个元素的数组中保存“responseId”和“responseMsg”的值(仅当它们不为空时),每个元素对应于jqGrid的每一行的结果。接下来,我想将数组中的数据显示为警报。

到目前为止,我刚刚能够循环遍历JqGrid并仅加载“responseId”。我很难将第二个值“responseMsg”加载到数组中,然后在单击链接时在警报中显示这些值。

这是我到目前为止所拥有的。它只是加载一维数组。我在加载第二维时遇到了困难。

function gridResponses(){
    var responseList = new Array();

    for(var i = 0; i < 10; i++){
        var responseGrid = $("#summaryGrid"),
            responseId = responseGrid.jqGrid('getCell',i,'responseId'),

        if (responseList[i] != false && responseList[i] != null){
            responseList[i] = responseId;
        }
     }
 }

当我点击链接执行此功能时,我想要一个警告来显示如下内容:

Response ID  Response Message
00001        Success
00002        Success
00003        Failure
00004        Success

在这种情况下,10行中只有4行存储了响应,所以我只需要显示4对。

1 个答案:

答案 0 :(得分:1)

这就是“第二维”的工作方式, 您只需将数组分配给数组的键。 responseId也可以是一个包含许多嵌套数组的数组,这没关系。

responseList[i]=[responseId,responseMsg]; 

给它更可读的语法我宁愿使用Objects,以便更容易访问,比如

responseList[i] = {'responseId':responseId,'responseMsg':responseMsg}

所以你不必编写像responseList [i] [1]那样的怪异东西,但是响应列表[i] .responseMsg

干杯!