2011-11-27 95 views
1

我有一個表,我需要獲得每行(陣列)的值,如: [{1,'test'}, {2,'another test'}, {3, 'nothing'}],但唯一我可以得到的是: ["1 test", "2 another test","3 nothing"]。我需要阿賈克斯JSON對象發送這個值...並創建另一個表 - 因此,我需要一個值數組...如何拆分jquery數組

var table = $("table"); 
var rowsAll = table.find("tbody tr"); 
rowsAll.each(function(i,l) { 
    var rows = []; 
    $(this).each(function(t,l){ 
    rows[rows.length] = cells[t]= $(this).text(); 
    return rows; //returns rows, but I need cells of each row 
    }).serialize();//or get() 
}); 

的HTML是這樣的:

<table id="deal"> 
<thead> 
    <tr> 
     <th> num </th> 
     <th> string </th> 
    </tr> 
</thead> 
<tbody> 
    <tr> <td> 1 </td> <td> test </td> </tr> 
    <tr> <td> 2 </td> <td> another test </td> </tr> 
    <tr> <td> 3 </td> <td> nothing </td> </tr> 
</tbody> 
</table> 

我真的需要幫助......

+2

在JavaScript中沒有像'{1''test'}'這樣的構造 - 你的意思是對象'{1:'test'}'還是數組''1,'test']'? – Xaerxess

+0

對不起..我只知道基礎知識......我只知道我在服務器端需要什麼:(jfriend00已經給了我答案,無論如何thnx) –

回答

3

這種形式的數據是沒有意義的,因爲它是很難用JavaScript來讀取:

[{1,'test'}, {2,'another test'}, {3, 'nothing'}] 

我會假設你想要的東西是這樣的:

{"1": "test", "2": "another test", "3": "nothing"} 

要獲得第二個形式,你可以使用此代碼:

var results = {}; 
$("#deal tbody tr").each(function() { 
    var cols = $(this).find("td"); 
    results[$.trim(cols.eq(0).text())] = $.trim(cols.eq(1).text()); 
}); 

工作示例這裏:http://jsfiddle.net/jfriend00/WjgrC/

+0

完美!你對這種格式是正確的 - 就是我不知道該怎麼問:)謝謝。 –