2016-12-28 125 views
0

我有一個功能,給了我一些數據輸出:如何拆分逗號分隔變量?

$(document).ready(function() { 
    var table = $('#myTable').DataTable(); 
    table.MakeCellsEditable({ 
     "onUpdate": myCallbackFunction 
    }); 
}); 

function myCallbackFunction(updatedCell, updatedRow, oldValue,row) { 
    console.log("The values for each cell in that row are: " + updatedRow.data()); 
} 

我的控制檯輸出爲:The values for each cell in that row are: 2,Alan,Dirt,[email protected]

我現在想輸出我的函數裏面只有逗號分隔的列表的第一個值。所以,我把它改成如下:

function myCallbackFunction(updatedCell, updatedRow, oldValue,row) { 
     var row = updatedRow.data(); 
     var id = row.split(","); 
     console.log("The first value is: " + id[0]); 
    } 

但我得到的控制檯錯誤現在TypeError: row.split is not a function. (In 'row.split(",")', 'row.split' is undefined)

這是什麼意思?

+0

哪個版本的jquery簡稱 –

+0

@BalajiM的版本是2.2.3 – Jarla

回答

1

updatedRow.data();必須已經是一個數組。

只需使用以下命令:

function myCallbackFunction(updatedCell, updatedRow, oldValue,row) { 
    var row = updatedRow.data(); // this is array already 
    console.log("The first value is: " + row[0]); 
} 

我怎麼敢肯定,row是一個數組? 如果你做到以下幾點,

var data = ["my", "world"]; 
console.log("Hello " + data); 

輸出將Hello my,world。和你的例子一樣。

所以你可以直接使用data[0],因爲它已經是一個數組了。

+0

是的,完全正確。測試它並且工作! – Jarla

1

您需要將數據轉換爲字符串,這樣

var row = updatedRow.data().toString(); 
+0

是的,這是工作!偉大的:) – Jarla

+0

你能把它標記爲正確的答案嗎? –

+1

這是一個錯誤的破解。 'updatedRow.data()'已經是一個數組了。爲什麼將它轉換爲字符串,然後再拆分以再次創建數組? 您可以使用'updatedRow.data()[0]' –