【发布时间】:2018-08-16 08:03:16
【问题描述】:
我试图返回三行文本以显示在我的自动完成框中,但正如您在下图中看到的那样,它只显示换行符,但我想要的是 3 行文本。
这是我用来返回数据的 Cakephp 函数。
public function partNumSearch()
{
if ($this->request->is('ajax'))
{
$part = $this->request->query['term'];
$resultArr = $this->Stocks
->find()
->where(
['Stocks.id LIKE' => ($part . '%')])
->orWhere(
['Stocks.alternative_part_number LIKE' => ($part . '%')])
->orWhere
(['Stocks.description LIKE' => ($part . '%')]
);
$resultsArr = [];
foreach ($resultArr as $result)
{
$resultsArr[] = (strval($result['id']) . '\n' . $result['alternative_part_number'] . '\n'. $result['description'] );
}
$this->set(array(
'id' => $resultsArr,
'_serialize' => 'id'
));
}
}
这是我的自动完成脚本
jQuery('#part').autocomplete({
delay: 0,
source:'<?php echo Router::url(array('controller' => 'Stocks', 'action' => 'partNumSearch')); ?>'
});
【问题讨论】:
-
把你所有的 php
'\n'改成"\n"... -
但它可能不会根据 html 显示它们...您最好通过
<br>代替(再次,取决于显示的每个元素的 css/html)。 -
像this那样做得更好
-
将所有的 '\n' 更改为 '
'。 -
@plonknimbuzz 谢谢你的工作!
标签: php jquery html jquery-ui cakephp