wikipoints/public/js/suggest.js

53 lines
1.2 KiB
JavaScript

var suggestSelector = '';
function suggestInit(selector)
{
suggestSelector = selector;
$(selector).after('<div id="suggestContainer"></div>');
$(selector).bind('input', function () {
var query = $(selector).val();
$('#suggestContainer').html('');
$.ajax({
url: "/json/search?query=" + query,
context: document.body
}).done(function (data) {
res = data.suggestions;
newHtml = '';
$('#suggestContainer').html('').show();
for (var i = 0; i < res.length; i++) {
newHtml += '<div><a href="' + res[i].data + '">' + res[i].value + '</a></div>';
}
$('#suggestContainer').html(newHtml);
}).fail(function (jqXHR, textStatus) {
alert("Request failed: " + textStatus);
});
}).bind('keydown', function (event) {
suggestKeyPress(event.which);
}).bind('focus', function(){if($(selector).val())$('#suggestContainer').show();});
$(selector).parent().bind('blur', function(){$('#suggestContainer').hide();});
$('#suggestContainer').hide();
}
function suggestKeyPress(key)
{
console.log(key);
switch (key) {
case 27:
//ESCAPE
$('#suggestContainer').hide();
break
case 13:
//ENTER
break
case 38:
//UP
break
case 40:
//DOWN
break
default :
$('#suggestContainer').show();
}
}