2016-09-25 69 views
0

林使用MVC框架在我看來,我有我的javascript代碼如何從調用php函數的javascript顯示數據?

這是我的觀點...

<script> 
$(document).ready(function(){ 
    $(document).on('click','#filtr',function(){ 
     var id_val = $('#id_val').val(); 
     var key_val= $('#key_val').val(); 
     console.log(id_val); 
     console.log(key_val); 
     $.ajax({ 
      url:"<?php echo base_url()?>filter/filtr", 
      method:"POST", 
      data:{ 
       id_val:id_val, 
       key_val:key_val 
      }, 
      /*beforeSend:function(){ 
       $("container_tab").html("Searching..."); 
      },*/ 
      success:function(data){ 
       $("container_tab").html(data); 
      } 
     }) 
    }); 
}); 
</script> 
<div class="table-responsive"> 
<table class="table table-striped table-hover" id="dataTables-example"> 
<tr> 
    <td> 
     Filter by... 
    </td> 
    <td> 
     ID: <input type="text" id="id_val" name="id_val" value="3" /> 
    </td> 
    <td> 
     KEY: <input type="text" id="key_val" name="key_val" value="asdf12" /> 
    </td> 
    <td> 
     <button type="button" class="btn btn-info btn-sm" id="filtr">FILTER</button> 
    </td> 
</tr> 

<br /> 
<div id="container_tab"></div> 
</table> 
</div> 

我想從我的控制器回來的表格填寫<div id="container_tab"></div>

在我的過濾器控制器我有我的filtr函數,但現在這個函數不返回$ filter_list,即使我還沒有做實際的查詢。

public function filtr(){ 
    $filter_list = ''; 
    $filter_list .= ' 
        <tr> 
          <td style="vertical-align: middle;" class="text-center">this should be sent to view as a table row</td> 
        </tr> 
      '; 

    echo $filter_list; 

} 

當我做我的JavaScript內的console.log函數值「3」和「asdf12」是顯示,但我不會在屏幕上從我的控制器功能調用FILTR得到任何東西。

+1

哪裏是你的表的標籤?還有任何PHP錯誤? – mplungjan

+0

您試圖用結果填充的'container_tab'在哪裏? – RiggsFolly

+0

我的表格標籤位於我的視圖的底部。 – learningbyexample

回答

3

有一個小錯誤在你success function,你containor有一個ID叫container_tab因此在其名字前使用#這樣

success:function(data){ 
    $("#container_tab").html(data); 
}