Примитивно это выглядит так
<div class="container" style="position: relative">
<form action="....." method="post" id="searchform" accept-charset="utf-8">
<div class="input-group">
<div class="input-group-addon">
Код
</div>
<input type="search" name="search" value="" class="form-control" autocomplete="off" id="srch" />
<div class="input-group-btn">
<button type="submit" class="btn btn-primary">Найти</button>
</div>
</div>
<div id="tip">
<div>запрашиваю</div>
</div>
</form>
</div>
function Tips() {
$('#tip').show().html('<ul><li>обновляю</li></ul>');
val = $('#srch').val();
$.post('/articul/mytips', {code: val}, function (data) {
html = '<ul>';
for (i = 0; i < data.tips.length; i++) {
html += '<li><a href="\'' + data.tips[i].href + '">' + data.tips[i].name + '</a></li>';
}
html += '</ul>';
$('#tip').html(html);
});
}
$(document).ready(function () {
$('#srch').keydown(function (e) {
val = $('#srch').val();
if (val.length > 2) {
clearTimeout(timerToSearch);
timerToSearch = setTimeout(function () {
Tips();
}, 50);
}
});
});
ну и /articul/mytips возвращает у меня json