2017-06-13 158 views
0

我的观点笨查询结果显示

<?php echo $calendar; ?> 
<div id="event_area"></div> 
<script type="text/javascript"> 
$(document).ready(function(){  

    $('.calendar .day').click(function(){ 

     var day_data= $(this).find('.content').html(); 

     if($(this).find('.content').html()!=null){ 

     $.ajax({ 
      url: "<?php echo base_url('calendar/pass_name')?>/", 
      method:"POST", 
      data:{'day_data':day_data}, 
      success:function(data){ 


       $('#event_area').html(data); 


      } 


     }) 

我的控制器:

function pass_name(){ 

    $name=$this->input->post('day_data'); 

    $result=$this->load->model('calendar_model')->get_description($name); 
    $data['calendar'] = $result; 

    echo json_encode($data); 

} 

我的模型:

function get_description($name){ 
    $query = $this->db 
    ->select('description') 
    ->from('calendar') 
    ->where('name',$name) 
    ->get(); 

    return $query->result(); 

} 

这是我在我的观点得到结果的一个例子。 {“calendar”:[{“description”:“test description \ r \ nwww.google.com </a>”}]} 如何使它更好,例如显示“test description ..”字符?

在此先感谢。

+0

在你的jquery脚本中使用parseJSON,它会工作...如果你想我解释更多..加入聊天http://chat.stackoverflow.com/rooms/146504/codeigniter –

回答

0

你必须在你的Ajax代码添加dataType:'json'

$.ajax({ 
     url: "<?php echo base_url('calendar/pass_name')?>/", 
     method:"POST", 
     dataType:'json', 
     data:{'day_data':day_data}, 
     success: function(data){ 
      $('#event_area').html(data); 
     } 
}); 
1

在你的Ajax成功功能替换代码如下

success:function(data){ 
    var obj = $.parseJSON(data); 
    var content = ''; 
    $.each(obj.calendar, function(i,v){ 
     content+= '<p>'+v.description+'</p>'; //--> here you can add any tag, class 
    }); 
    $("#event_area").html(content); 
} 

希望这个代码可以解决你的问题。如果您需要进一步澄清, 我很乐意为您提供帮助。