首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CakePHP 3-搜索建议

CakePHP 3-搜索建议
EN

Stack Overflow用户
提问于 2017-07-18 06:51:04
回答 1查看 350关注 0票数 0

我试图用Cakephp 3创建一个搜索建议输入框。我在网上找到了一个教程,我正在尝试实现它,但我没有得到教程中提到的建议。(http://www.naidim.org/cakephp-3-tutorial-18-autocomplete)

PagesController.php

代码语言:javascript
复制
public function chargesadd()
 {
    $this->loadModel('Charges');

    if ($this->request->is('ajax')) {
    $this->autoRender = false;
    $name = $this->request->query['term'];
    $results = $this->Customers->find('all', [
        'conditions' => [ 'OR' => [
            'name LIKE' => $name . '%',
            'id LIKE' => $name . '%',
        ]]
    ]);
    $resultsArr = [];
    foreach ($results as $result) {
         $resultsArr[] =['label' => $result['name'], 'value' => $result['id']];
    }
    echo json_encode($resultsArr);
 }
}

chargesadd.ctp

代码语言:javascript
复制
<?php use Cake\Routing\Router; ?>

<?php 
  echo $this->Form->input('customer_id', ['type' => 'text']);
?>

<script>
    jQuery('#customer-id').autocomplete({
         source:'<?php echo Router::url(array('controller' => 'Pages', 'action' => 'chargesadd')); ?>',
        minLength: 3
    });
</script>

我有一种感觉,$resultsArr的输出方式有问题。但我不知道是怎么回事。

我使用的是CakePHP 3.4.7

EN

回答 1

Stack Overflow用户

发布于 2017-07-19 00:07:47

我尝试过这个方法,但由于某些原因,它没有成功,如果有人试图完成一个自动完成功能或搜索建议功能,尝试一下。

( https://silviomoreto.github.io/bootstrap-select/ )

你需要生成下拉列表。基本上就是这样。并添加“选择器”类和相关的cdn资源。

代码语言:javascript
复制
<select class="selectpicker">
 <option>Mustard</option>
 <option>Ketchup</option>
 <option>Relish</option>
</select>

演示- https://codepen.io/Rio517/pen/NPLbpP

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45159534

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档