2016-09-16 18 views
1

データテーブルを持つページがあり、テーブル内のデータのみを更新する必要があります。私は並べ替えるためにブートストラップデータテーブルを使用しますが、ページのリフレッシュデータを使用するとデータを並べ替えるためのブートストラップは使用できません。どうすれば修正できますか?JavaScriptでテーブルのデータのみを更新する方法はありますか?

データが

$request = $this->m_request->get_request_list(); 

    $row = ''; 
    $row .= '<table cellpadding="0" cellspacing="0" border="0" class="table table-striped table-bordered" id="datatable">'; 
    $row .= '<thead>'; 
    $row .= '<tr>'; 
    $row .= '<td>Start</td>'; 
    $row .= '<td>End</td>'; 
    $row .= '<td>Type</td>'; 
    $row .= '</tr>'; 
    $row .= '</thead>'; 
    $row .= '<tbody>'; 
    foreach ($re as $r){ 
     $row .= '<tr id="sh">'; 
     $row .= '<td>'.$r->date_start.'</td>'; 
     $row .= '<td>'.$r->date_end.'</td>'; 
     $row .= '<td>'.$r->leave_type.'</td>'; 
     $row .= '</tr>'; 
    } 
    $row .= '</tbody>'; 
    $row .= '</table>'; 
    echo $row; 

をリフレッシュするために取得し、これは私がビューページでテーブルを表示した場合、データがにリフレッシュできませんでしょうデータが

var $container = $("#show_data"); 
$container.load("<?php echo site_url('request/get')?>"); 
var refreshId = setInterval(function() 
{ 
    $container.load('<?php echo site_url('request/get')?>'); 
}, 3000); 

を表示するために得るために、私はJavaScriptであるため、この私のコードデータを取得し、コントローラページのテーブルを呼び出すと、私はブートストラップデータテーブルを使用できません。 助けてください。手伝ってくれてどうもありがとう。

答えて

1

再初期化は、各アヤックス成功の後

var $container = $("#show_data"); 
$container.load("<?php echo site_url('request/get')?>",function(){ $('table').DataTable();}); 

var refreshId = setInterval(function() 
{ 
    $container.load("<?php echo site_url('request/get')?>",function(){ $('table').DataTable();}); 
}, 3000); 
+0

をDataTableには、新たなデータを持っているし、新しいデータを持っていない場合はページをリロードしていないとき、私はオートリロード・ページを設定した場合、それは不可能です、ありがとうございました。 –

+0

ページをリロードする理由ajaxはページをリロードしないためのもので、ajaxの目的を破ったものです – madalinivascu

関連する問題