簡體   English   中英

如何在click事件中附加數據來自dataTable

[英]How to append the data From dataTable in click event

我使用了以下腳本,數據沒有加載到dataTable,我收到錯誤點擊這里顯示錯誤圖片這里我的jquery代碼

Table = $("#example").DataTable({
            data:[],
            columns: [
            { "data": "Course" },
            { "data": "Batch" },
            { "data": "Admission No" },
            { "data": "Rollno" },
            { "data": "Student Name" },
            { "data": "Email" }
            ],
            rowCallback: function (row, data) {},
            filter: false,
            info: false,
            ordering: false,
            processing: true,
            retrieve: true
            });
        $('.view_search_btn').click(function(){
            //alert("clicked");
            var search_key = $('input[name=view_stu_search]').val();
            $('.box-body').show();
             $.ajax({
                    url: "../live_search.php",
                    type: "post",
                    data: "key="+'view_student_search_key'+"&search_keyword="+search_key
                }).done(function (result) {
                    Table.clear().draw();
                    Table.rows.add(result).draw();
                }).fail(function (jqXHR, textStatus, errorThrown) { 
                      // needs to implement if it fails
                });

}); //點擊此處關閉的事件}); //文檔關閉在這里,我的PHP代碼是

if(!ctype_digit($_POST['search_keyword'])){
            //echo "given value is string".$_POST['search_keyword'];
            $rows = search_keyword($view_student_search_key);
            //print_r($rows);
            foreach($rows as $row)
            {
                $query = "SELECT a.stu_rollno, c.stu_course,c.stu_batch,a.admission_no,p.stu_firstname,p.stu_lastname,co.stu_email FROM current_course c, admission_details a,stu_personal_details p, stu_contact_details co WHERE a.stu_rollno = p.stu_rollno AND c.stu_rollno = co.stu_rollno AND a.stu_rollno = c.stu_rollno AND (c.stu_degree = ".$row['degree_id']." AND c.stu_course = ".$row['course_id']." AND c.stu_branch = ".$row['branch_id'].");";
                //echo "<br><br>";
                $run_query = mysqli_query($con, $query);
                while($result = mysqli_fetch_array($run_query))
                {
                    echo "
                        <tr>
                                <td>".$row['course_name']."</td>
                                <td>".$result['stu_batch']."</td>
                                <td>".$result['admission_no']."</td>
                                <td>".$result['stu_rollno']."</td>
                                <td>".$result['stu_firstname'].$result['stu_lastname']."</td>
                                <td>".$result['stu_email']."</td>
                                <td align='center'><a href='edit.php?rollno=".$result['stu_rollno']."&degree=".$row['degree_name']."&course=".$row['course_name']."&branch=".$row['branch_name']."' class='btn btn-info btn-sm btn-flat'><i class='fa fa-edit'></i> Edit</a>
                                    <button type='button' class='btn btn-danger btn-sm btn-flat' name='remove_levels' data-toggle='modal' data-target='.bs-example-modal-sm'><i class='fa fa-close'></i> Delete</button>
                                </td>
                            </tr>
                    ";

                }
            }

        }`

我的php里面有以下函數

function search_keyword($view_student_search_key)
{
    $query = "SELECT d.degree_id,d.degree_name,c.course_id,c.course_name,b.branch_id,b.branch_name FROM degree d,courses c,branch b WHERE d.degree_id = c.degree_id AND b.course_id = c.course_id AND (d.degree_name like '%$view_student_search_key%' OR c.course_name like '%$view_student_search_key%' OR b.branch_name like '%$view_student_search_key%')";
    global $con;
    $run_query = mysqli_query($con, $query);

    //Declare the rows to an array
    $rows = array();
    // Insert Each row to an array
    while($row = mysqli_fetch_array($run_query))
    {
        $rows[] = $row;
    }
    // Return the array
    return $rows;
}`

在這里,您為標題添加總計6 td ,然后為內部tr添加7 td 因此每行的數據表td不匹配。

您可以做的是:

只需再添加一個td到之前的數據表初始化, (逗號):

{ "data": "Actions" }

注意: Action是“編輯”和“其他圖標”列的td的標題。

使用xhr.dt並使用datatables load()api重新加載數據。 xhr.dt將在加載時監聽ajax調用數據。 您可以清除並繪制,即在xhr回調函數中附加數據。 希望有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM