2013-09-25 136 views
0

我在我的网站上有一个搜索字段的问题,我希望你能帮助我。我得到了一个名为“客户端”的表格,其中包含名字,姓氏,地址等信息以及所有MVC文件。为了测试,我使用客户端索引功能。在我的视图文件中,我有一个输入字段,我想要搜索客户端。当我输入至少4个字母时,搜索功能应该自动将客户名称显示在搜索字段下的div容器中(如google即时搜索)。基本上它正在工作,但在第一次搜索后,我在客户端div中获得了第二个输入,并且在搜索之后它会中断。我认为我的解决方案也不是这样做的正确方法。这里是我的控制器代码:Cakephp Ajax请求

public function index($searchterm=NULL) { 

    if ($this->RequestHandler->isAjax()) { 

      $clients=$this->Client->find('list', array(
       'conditions'=>array('LOWER(Client.lname) LIKE \''.$searchterm.'%\''), 
       'limit'=>500 
      )); 

      $this->set('clients', $clients); 
    } 

} 

查看:

<script type="text/javascript"> 

    $(function() { 
     $("#element", this).keyup(function(event) { 
      if($(this).val().length >= 4) { 
       $.ajax({     
        url: '/clients/index/' + escape($(this).val()), 
        cache: false, 
        type: 'GET', 
        dataType: 'HTML', 
        success: function (clients) { 
         $('#clients').html(clients); 
        } 
       }); 
      } 
     }); 
    }); 
</script> 

<?php echo $this->Form->input('element', array('id'=>'element'));?> 

<div id="clients"> 
<?php 
foreach ($clients as $client) { 
    echo '<br>'; 
    echo $client; 
} 
?> 
</div> 

我希望你能帮助我提高这一点...

回答

0

尝试这样,它会帮助你。

success: function (clients) { 
    $('#clients').html($(clients).filter('#clients').html()); 
} 
+0

让我知道你是否有任何疑问或疑虑。 –