2013-09-25 135 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

讓我知道你是否有任何疑問或疑慮。 –