0

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

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>

我希望你能帮助我改进一点......

4

1 回答 1

0

试试这样,它会帮助你。

success: function (clients) {
    $('#clients').html($(clients).filter('#clients').html());
}
于 2013-09-25T09:16:02.743 回答