2011-11-24 16 views
0

我有一張表,我需要讀一行,並得到所有的前。日。我寫了這樣的東西,但它給了我兩次相同的陣列['id','test']jquery讀錶行

我該怎麼做?由於我必須在php類中處理每個th以構建表。

<script type="text/javascript"> 
    $(document).ready(function(){ 
     var table = $("table"); 
     var headerCells = table.find("thead th"); 
     var headers = []; 

     //get header cells 
     headerCells.each(function(i) { 
      i = $(this).text(); 
      headers[headers.length] = i; 
     }); 

     //convert array to json 
     var jsonArray = JSON.stringify(headers); 

     //prepare POST data 
     var dataToPost = { 'jsonArray':jsonArray }; 

     console.log(headers); 

     $.ajax({ url: '/js/call.php', 
      data: {data: dataToPost}, 
      type: 'get', 
      success: function(output) { 
       //output = eval('(' + output + ')'); 
       alert (output); 
      } 
     }); 
    }); //end jQ 
</script> 
+0

你能後的HTML? –

+0

你從哪裏得到數組兩次? –

+0

我很抱歉...我在測試Michas的代碼時發現了一個錯誤。問題在別處 - (我做了2個調用)我應該在PHP類中使用jQuery獲取表的行。不過我不知道該怎麼做(現在我在另一個php文件中調用了類),然後我必須用另一個類來處理數據。是否有人知道是否有可能撥打電話並在班級中獲取變量 - 讓我們用另一種方法說吧? –

回答

0

的問題是Ajax請求

//prepare POST data 
var dataToPost = { 'jsonArray':jsonArray }; 

console.log(headers); 
$.ajax({ url: '/js/call.php', 
     data: {data: dataToPost}, 
     type: 'get', 
     success: function(output) { 
      alert(output); 
     } 
    }); 

dataToPost是一個對象,但串預計,解決方案:

//prepare POST data 
var dataToPost = { 'jsonArray':jsonArray }; 

console.log(headers); 
$.ajax({ url: '/js/call.php', 
     data: dataToPost, 
     type: 'get', 
     success: function(output) { 
      alert(output); 
     } 
    }); 

example

1

您可能需要更改此:

headerCells.each(function(i) { 
    i = $(this).text(); 
    headers[headers.length] = i; 
}); 

headerCells.each(function(idx, elm) { 
    var text = $(elm).text(); 
    headers[idx] = text; 
}); 
+0

你測試過了嗎?它的錯誤部分代碼沒有錯誤 – noob

1

當你創建數組

//get header cells 
    headerCells.each(function(i) { 
     i = $(this).text(); 
     headers[headers.length] = i; 
    }); 

我願意做你正在做一些奇怪的事情:

//get header cells 
    headerCells.each(function(i) { 
     i = $(this).text(); 
     headers.push(i); 
    }); 
+0

你測試過了嗎?其代碼中的錯誤部分是沒有錯誤的 – noob