我最近在我的网站上实现了一个搜索框,它可以自动完成关键字,从而获得良好的效果。我想实现一个隐藏的部分,以了解我的注册访问者搜索的搜索查询是什么。
我在搜索框中添加了隐藏的用户名,当用户搜索任何内容时,名称和搜索查询都会保存在另一个表中。由于自动完成,数据每秒保存一次;所以如果有人搜索“笔记本电脑”,我们会得到:
**ID username Searchdata srtime**
1 user1234 L 1372513199
2 user1234 La 1372513200
3 user1234 Lap 1372513201
4 user1234 Lapt 1372513202
5 user1234 Lapto 1372513203
6 user1234 Laptop 1372513204
jQuery代码:
$('#search_box').keyup(function() {
// Other things
});
如何只保存最终搜索字词并忽略自动完成值?
答案 0 :(得分:1)
您应该使用.blur()
代替.keyup()
。
这样,当控件失去焦点时,而不是每次按下一个键时都会提交数据。
答案 1 :(得分:0)
请按照以下步骤操作。
$('#search').keyup(function(){ $('#searchQuery').val($('#search').val()); });
$('#search').focusout(function(){
alert($('#searchQuery').val()); //this will return final query
});
<input type="text" id="search">
<input type="hidden" id="searchQuery">