lfetch данные из таблицы в текстовое поле

#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