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

Смежные вопросы