我试图用Cakephp 3创建一个搜索建议输入框。我在网上找到了一个教程,我正在尝试实现它,但我没有得到教程中提到的建议。(http://www.naidim.org/cakephp-3-tutorial-18-autocomplete)
PagesController.php
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
<?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
发布于 2017-07-19 00:07:47
我尝试过这个方法,但由于某些原因,它没有成功,如果有人试图完成一个自动完成功能或搜索建议功能,尝试一下。
( https://silviomoreto.github.io/bootstrap-select/ )
你需要生成下拉列表。基本上就是这样。并添加“选择器”类和相关的cdn资源。
<select class="selectpicker">
<option>Mustard</option>
<option>Ketchup</option>
<option>Relish</option>
</select>https://stackoverflow.com/questions/45159534
复制相似问题