我正在使用jQuery的Autocomplete插件,并且动态生成建议列表。我想摆脱自动完成功能提供的过滤,即我想加载来自后端的所有数据。 我正在使用的代码
$(document).ready(function(){
$("#search_box").autocomplete("myscript/index");
}
<input type='input' id='search_box' />
PHP后端代码(symfony 1.4) 行动:
$s = $request->getParameter("p");
$c = new Criteria();
$c->add(DataSkillPeer::SKILLNAME, $s);
$data_array = array();
$data_skill_array = DataSkillPeer::doSelect($c);
foreach($data_skill_array as $arrays)
{
$data_array[] = $arrays;
}
$this->display_data = json_decode($data_array, true);
观点:
<?php if(!empty($display_data)): ?>
<?php foreach($display_data as $da): ?>
<?php echo $da."\n"; ?>
<?php endforeach; ?>
<?php endif; ?>
数据是从myscript.php文件发送的,我想加载从后端传入的所有数据,例如,如果我输入j,那么我的后端生成java,javascript,jquery,ejb。我想要显示所有这些数据,而不是像建议那样通过自动完成功能进行过滤。有没有办法我可以破解自动完成功能,而不会失去它提供的UI效果。
答案 0 :(得分:0)
我在没有黑客攻击自动完成插件的情况下得到了解决方案,因为我看到当我在文本框中单击“a”时它查询后端php脚本并返回数组[“asp”,“asp.net”,“actionscript”]并且在单击“s”时它没有触发后端脚本,因为它从缓存中获取数据。因此将属性设置为{cacheLength: 0}
并且它有效。
谢谢大家帮助我和你的时间。和特殊的坦克@JohnP。