2012-03-06 11 views
13

Soru sormak istiyorum javascript'te bir HTML TABLOSunu Diziye dönüştürmek mümkün mü? Bu masam var. Henüz bir şey denemedim.html tablosunu javascript dizgesine dönüştürün

<table id="cartGrid"> 
    <thead> 
     <tr> 
      <th>Item Description</th> 
      <th>Qty</th> 
      <th>Unit Price</th> 
      <th>Ext Price</th> 
     </tr> 
    </thead> 
<tbody> 
    <tr><td>Old Lamp</td><td>1</td><td>107.00</td><td>107.00</td> 
    <tr><td>Blue POst</td><td>2</td><td>7.00</td><td>14.00</td> 
</tbody> 
</table> 
+0

evet: İşte örneğin bir keman var. Tamam, şimdi bize bazı kodları göster, ne denedin ya da masanın neye benzediğini göster. – f0x

+0

Ne bir dizi? Tabloyu oluşturan unsurlar, hücrelerin içindeki değerler? – kinakuta

+0

Evet, bunun için bir kod yazarak :) (ki onun satırları ve sütunları aracılığıyla döngüler olacak!) – linuxeasy

cevap

32

İstediğiniz şeyi yapmanın bir örneği. Muhtemelen bu genişletebilirdik

var myTableArray = []; 

$("table#cartGrid tr").each(function() { 
    var arrayOfThisRow = []; 
    var tableData = $(this).find('td'); 
    if (tableData.length > 0) { 
     tableData.each(function() { arrayOfThisRow.push($(this).text()); }); 
     myTableArray.push(arrayOfThisRow); 
    } 
}); 

alert(myTableArray); 

, diyelim ki, TH metnini kullanarak yerine her TD için bir anahtar-değer çiftini oluşturmak için. Bu uygulama çok boyutlu bir dizi kullandığından

, böyle bir şey yaparak bir sıra ve bir td erişebilir:

myTableArray[1][3] // Fourth td of the second tablerow 

Düzenleme: http://jsfiddle.net/PKB9j/1/

+1

Seçicinizle daha spesifik olmak isteyeceksiniz, özellikle de tablonun herhangi bir yeri için tablo kullanıyorsanız, bu tüm tr'leri (muhtemelen iç içe geçmiş tabloların içinde) bulacaktır.) bir masanın içinde. Güncellenmiş HTML göz önüne alındığında, seçici "$ ('# cartGrid')' olacaktır. – GregL

+0

Doğal olarak. Bu sadece bir örnek. Netlik için güncelleyeceğim. –

+0

Evet, bunu biliyorum. Ama OP, JS ve jQuery ile çok emin değildi gibi görünüyor, ama iyi, onlar sadece kod kopya yapıştırılmış ve onlar için iç içe geçmiş tabloları kullanıyor olsaydı tamamen beklenmedik sonuçlar var, bunu işaret etmek istedim düzeni. – GregL

İlgili konular