2016-12-28 145 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]' –