2015-04-15 159 views
0

我有一個JSON對象,我試圖添加到。下面是我使用(註釋掉位似乎也沒有做什麼,我需要)的代碼:將項目添加到JSON對象

$('#classes tbody').on('click', 'tr', function() { 
    $(this).toggleClass('selected');   
    if ($.isEmptyObject(jsonData)) {    
     jsonData = { 
      "row": [ 
      { 
       "OpenClosed": $('tr.selected td:nth-child(1)').text(), 
       "Section": $('tr.selected td:nth-child(2)').text(), 
       "CRN": $('tr.selected td:nth-child(3)').text(), 
       "CreditHours": $('tr.selected td:nth-child(4)').text() 
      } 

      ] 
     }; 
    } 

    else if (!$.isEmptyObject(jsonData)) {       
     jsonData['row'] = { 
       "OpenClosed": $('tr.selected td:nth-child(1)').text(), 
       "Section": $('tr.selected td:nth-child(2)').text(), 
       "CRN": $('tr.selected td:nth-child(3)').text(), 
       "CreditHours": $('tr.selected td:nth-child(4)').text() 
     };    
     //jsonData.row.push = { 
     // "OpenClosed": $('tr.selected td:nth-child(1)').text(), 
     // "Section": $('tr.selected td:nth-child(2)').text(), 
     // "CRN": $('tr.selected td:nth-child(3)').text(), 
     // "CreditHours": $('tr.selected td:nth-child(4)').text() 
     //};       
    }   
}); 

用戶點擊某行,我需要它來該行地方添加class=selected到JSON對象。目前它似乎追加(在Chrome開發工具中),而不是添加一個新行。當我選擇了兩行時,我最終得到了這個CRN: "8063780639",其中CRN在單獨的行上應該是80637和80639。我需要每次點擊添加像行[0],行[1],行[2]等row ...

回答

2

推是不屬性,它是一種方法。所以你必須使用(...)

jsonData.row.push({ 
     "OpenClosed": $('tr.selected td:nth-child(1)').text(), 
     "Section": $('tr.selected td:nth-child(2)').text(), 
     "CRN": $('tr.selected td:nth-child(3)').text(), 
     "CreditHours": $('tr.selected td:nth-child(4)').text() 
    }); 
+0

該死的,在我面前:D與我正要寫的完全一樣。 – MightyLampshade

+0

這是我正確使用push時得到的結果[http://imgur.com/ITAmazn](http://imgur.com/ITAmazn) – Jrow

+0

結果顯示我仍然使用'jsonData.row.push =。 ..'而不是'jsonData.row.push(...)' – devnull69