使用jquery将数据附加到内容中的div标签

时间:2013-11-15 03:15:48

标签: php jquery codeigniter

我正在尝试twitter pagination使用JQuery。我有一个搜索页面(包含表单),它将查询数据库并将其显示在搜索结果页面中。

当我尝试点击下面代码中的div标签(下页中的更多按钮)时,它应该只将数据附加到#results而不是整个页面加载#content看起来相同页面重叠的附加数据。当我点击More按钮时,从数据库加载数据并加载适当结果的逻辑。唯一的问题是正确显示结果

这是我的代码

<body>
    <?php $this->load->view('includes/topbar'); ?>
    <?php $this->load->view('includes/menu'); ?>      
    <?php $this->load->view('includes/left'); ?>        

  <div id="contentwrap">
    <div id="content">

        <div id="results">
                <?php
                foreach($this->data['latest_messages'] as $message)
                {
                    echo $message->uacc_email . ' - ' . '<br />';
                }
                ?>
        </div>
    <div id="more_button">
        More
    </div>
  </div>     
  </div>
    <?php $this->load->view('includes/right'); ?>   
    <?php $this->load->view('includes/foot'); ?> 
 </body>

以下是<head>部分中我的jquery的代码。 auth_public/get_results/将从数据库中获得结果。

    <script type="text/javascript">
      $(document).ready(function(){
      var num_messages = <?=$num_messages?>;
      var loaded_messages = 0;
        $("#more_button").click(function(){
            loaded_messages += 10;
            $.get("<?php echo $base_url;?>" + "auth_public/get_results/" + loaded_messages, function(data){
                $("#results").append(data);

            });

            if(loaded_messages >= num_messages - 10)
            {
                $("#more_button").hide();
                //alert('hide');
            }
        })
    })
</script>

我尝试过使用span。但没有运气,行为是一样的。对此有何帮助?

1 个答案:

答案 0 :(得分:2)

你的get_results的问题,我猜它会将输出返回为html而不是json输出为“jammykam”提到

转到auth_public查找函数get_results并替换应如下所示的输出行$this->load view($your_view,$data);

或此$this->parser->parse($your_view,$data);

echo json_encode($data);