#html #jquery #datatables #fetch
#HTML #jquery ( jquery ) #таблицы данных #принести
Вопрос:
Я создаю таблицу с помощью jQuery, и в этой таблице я объединяю 3 столбца в 1 столбец:
итак, как я объединяю несколько столбцов в 1 столбец перед объединением:
if (re.length > 0) {
$("#services_schdulue").append
$('#services_schdulue thead').append("<tr><th>Service ID</th><th>Service Type</th><th>frequency</th><th>Freq_Duration</th><th>Freq_Mileage</th></tr>");
for (var i = 0; i < re.length; i ) {
if (re[i] !== null) {
$('#services_schdulue tbody').append('<tr><td>' re[i][0]
'</td><td>' re[i][1]
'</td><td>' re[i][2]
'</td><td>' re[i][3]
'</td><td>' re[i][4]
'</td></tr>');
}
}
}
После объединения:
if (re.length > 0) {
$("#services_schdulue").append
$('#services_schdulue thead').append("<tr><th>Service ID</th><th>Service Type</th><th>S freq</th></tr>");
for (var i = 0; i < re.length; i ) {
if (re[i] !== null) {
$('#services_schdulue tbody').append('<tr><td>' re[i][0]
'</td><td>' re[i][1]
'</td><td>' re[i][2] '' re[i][3] '' re[i][4]
'</td></tr>');
}
}
}
var myTable = $('#services_schdulue').DataTable({
"columnDefs": [{
"visible": false,
"targets": [3,4,5]
}]
});
Комментарии:
1. почему вы не берете данные из
re
?2. как я изменяю эту строку var rowDate = myTable.row(this).data(); $(«#txt_repeat»).val(rowDate[2]); @chiragpatel
3. Просто, на самом деле, избавьтесь от объединения ваших данных и используйте таблицы данных, чтобы скрыть столбцы, которые вы не хотите отображать. Это просто лучший способ, и тогда вам не нужно беспокоиться о разделении некоторого текста на то, что вы хотите отобразить. Извините, что продолжаю говорить об этом, но я не одинок в желании, чтобы JSFiddle работал против … 🙁
Ответ №1:
Попробуйте приведенное ниже решение, я думаю, это вам поможет.
$('#services_schdulue').on('click', 'tr', function () {
var row = $(this)[0];
console.log(re[row._DT_RowIndex]);
});
В консоли вы найдете все данные строки, на которую вы нажимаете.
В соответствии с вашим jsfiddle, приведенное ниже решение поможет вам. Не забудьте объявить переменную re
за пределами document.ready
$('#tabledata').on('click', 'tr', function () {
$("#myModal").modal("show");
var row = $(this);
var row_index = row[0]._DT_RowIndex;
var data = re[row_index];
$("#txt_status").val(data.Status);
debugger;
//var repeat = myTable.row.find('td')[2].firstChild.data;
$("#txt_speed").val(data.Speed);
});
Комментарии:
1. я не хочу показывать данные в консоли .. хочу показать данные в текстовом поле @chirag patel
2. @greenuser, ты можешь сделать один jsfiddle? так что я могу легко изменить ваш код
3. хорошо .. это jsfiddle.net/wtnwgz09/18 … но я хочу объединить столбцы status и speed и дать заголовок «infor», а данные в столбце td будут такими, как «def 1000», поэтому после скрытия столбцов status и speed .. будет виден только столбец infor refrence.. итак, после этого, когда я нажимаю на строку, появляется всплывающее окно со статусом текстового поля и скоростью, так как я извлекаю данные скрытых столбцов в этих текстовых полях
4. @greenuser , здесь вы можете проверить решение jsFiddle