2016-09-25 54 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); 
}