2013-05-14 117 views
1

我使用ParamQuery JavaScript庫(ParamQuery Website)構建JavaScript網格。Javascript Array:將元素從字符串更改爲對象

使用JQuery,我使用重定向JSON數據的Ajax向我的服務發出請求。然後我遍歷我的JSON數據並將其分配給一個數組。我的問題是元素是字符串,但我認爲他們需要是一個對象數組。

<script type="text/javascript"> 
    $(document).ready(function() { 
     var DataArray = []; 

     $.ajax({ 
      url: "http://wks52025:82/WcfDataService.svc/GetNotes()?$format=json", 
      type: "get", 
      datatype: "json", 
      success: function (data) { 
       $.each(data.d, function (i, item) { 
        DataArray[i] = "[" + item.NotesTitle.trim() + "," + item.NotesText.trim() + "]"; 
       }) 

       for (var i = 0; i < DataArray.length; i++) { 
        //alert(DataArray[i]); 
        //Do something 
       } 

       // GRID LOGIC HERE 
       var obj = { width: 800, height: 400, title: "Notes" }; 
       obj.colModel = [ 
        { title: "NotesTitle", width: 500, dataType: "string" }, 
        { title: "NotesText", width: 500, dataType: "string" } 
       ]; 
       obj.dataModel = { data: DataArray }; // Data Array goes here 
       $("#grid_array").pqGrid(obj); 
      } 
     });  
    }); 
</script> 

我附上了VS中我的Watch選項卡的屏幕截圖以及調試後網格呈現的截圖。

Visual studio watch

My Grid

This is the example code

誰能幫我解決這個問題呢?

+0

如果屏幕截圖太小,我可以調整它。它在油漆上看起來更大。 – 2013-05-14 08:24:05

回答

1

如果問題是隻有把這個對象的數組來看看這一行:

$.each(data.d, function (i, item) { 
    DataArray[i] = { NotesTitle: item.NotesTitle.trim(), NotesText:item.NotesText.trim() }; 
}) 

更新 一看一個例子,你需要一個數組的數組

$.each(data.d, function (i, item) { 
    DataArray[i] = [ item.NotesTitle.trim(), item.NotesText.trim() ]; 
}) 
+0

對於這個問題。你有什麼建議嗎? – 2013-05-14 08:25:09

+0

謝謝你的工作。我想我對括號的使用對於我正在嘗試做的事情是不正確的。 – 2013-05-14 08:39:40

相關問題