Do something after two second of keyup
hope this will help...
$("#input").keyup(function(){
var x=$("#input").val();
setTimeout(function(){
if(x==$("#input").val()) {
alert('ajax call going');
}
}, 3000);
});
var _changeInterval = null;
$("#input").keyup(function() {
// wait untill user type in something
// Don't let call setInterval - clear it, user is still typing
clearInterval(_changeInterval)
_changeInterval = setInterval(function() {
// Typing finished, now you can Do whatever after 2 sec
clearInterval(_changeInterval)
}, 2000);
});
Note: Code taken from SO few months back, don't remember the link
Edit:
Check this jsFiddle. Check comments in the Code and output in console for better understading
Try this:
<script src="//code.jquery.com/jquery-1.11.2.min.js"></script>
<input type="text" id="input">
<script>
$(document).ready(function(){
$("#input").keyup(function(){
var str = $(this).val();
setTimeout(function(){
if(str == $("#input").val()) {
alert('ajax call going');
}
}, 2000);
});
});
</script>