我有一个大约300000条记录的大数据集,除此之外,除了在搜索框中键入的内容之外,我几乎没有什么可以添加到查询中来缩减它。
keyup和keydown的区别在10种水果或几百个国家的数组中并不明显,但在处理300000多张唱片时,这种区别是巨大的,你需要第一次击键来完成一些选择。
说明
// on FIRST keydown field value is blank as expected,
// (value is present on keyup)
$('#autoCompleteField').keypress(function(){
var formVal=$('#autoCompleteField').val();
});
// assume ive made it safely to my php form
// $formVal = jquery value shown above
// translates to query below
select('id','name') from myTable where name like '%%'
把10种水果或几百个国家的名单拉进来是可以的,就像在他们的演示中那样,没有任何后果,但对于拥有30多万张唱片的毫无戒心的人来说,这似乎是一个相当大的疏忽。
有什么理由不使用keyup吗?
1条答案
按热度按时间2j4z5cfb1#
我已经建立了我自己的自动完成任务,工作300000+记录在曲速。关键是每次按键只返回有限数量的记录,在我的例子中,我用了10个。这是我雄辩的问题。
$first3&$last3是我自己的变量,请插入您自己的逻辑。
我尝试的jquery插件不起作用。它将提供前10个按字母顺序排列的记录,而不管我的搜索词是什么,在第二次击键时,它将只使用选择的10个作为搜索池,结果没有记录。
对于jquery
最后,ajax success函数将html推送到rosterresults div。
对于任何一个只懂jquery和ajax的人来说,这似乎都非常简单,但是对于那些不懂jquery和ajax的人来说,这是一个我在其他任何地方都找不到的解决方案。