Reputation: 77
I use jQuery UI autocomplete plugin in my Struts 1 application. It works, but when I press the key for the first time it does not, but later it works.
var res=null;
$(document).ready(function()
{
click();
});
function click()
{
$( "#me" ).keyup(function(e)
{
var value=$("#me").val();
if(e.keyCode>64 && e.keyCode<91)
{
callserver(value);
}
});
}
//var my_delay=20000;
function callserver(value)
{
$.ajax({
type: "POST",
url: "<%=cPath%>/lims/index",
data: {action:"retrive autocomplete",name:value },
cache:false,
})
.done(function( namelist ){
res=namelist.split(",");
$( "#me" ).autocomplete({
source: res
});
res=null;
//click();
});
}
I retrieve the value from Oracle DB.
Upvotes: 1
Views: 1737
Reputation: 98
$("#me").autocomplete({
source: function(request, response) {
$.ajax({
type: "POST",
url: "<%=cPath%>/path",
data: {action:"retrive autocomplete", name: request.term },
cache:false,
})
.done(function( namelist ){
res=namelist.split(",");
response(res);
});
}
});
Upvotes: 0
Reputation: 781096
You don't need to write your own keypress
handler to use autocomplete, it's done by the widget for you. Just initialize the widget in the $(document).ready()
handler, and tell it to get the values using AJAX:
$(document).ready(function() {
$("#me").autocomplete({
source: function(request, response) {
$.ajax({
type: "POST",
url: "<%=cPath%>/lims/index",
data: {action:"retrive autocomplete", name: request.term },
cache:false,
})
.done(function( namelist ){
res=namelist.split(",");
response(res);
});
}
});
});
Upvotes: 2