jQuery autocomplete. Doesn't reveal existing matches.
Posted
by Alexander
on Stack Overflow
See other posts from Stack Overflow
or by Alexander
Published on 2010-04-22T12:59:13Z
Indexed on
2010/05/05
19:28 UTC
Read the original article
Hit count: 149
Hello fellow engineers.
I have come across a problem I just can't solve. I am using autocomplete plugin for jQuery on an input. The HTML looks something like this:
<tr id="row_house" class="no-display">
<td class="col_num">4</td>
<td class="col_label">House Number</td>
<td class="col_data">
<input type="text" title="House Number" name="house" id="house"/>
<button class="pretty_button ui-state-default ui-corner-all button-finish">Get house info</button>
</td>
</tr>
I am sure that this is the only id="house"
field. Other fields that are before this one work fine with autocomplete, and it's basically the same algorithm (other variables, other data, other calls). So why doesn't it work like it should work with the following init. code:
$("#house").autocomplete(["1/4","6","6/1","6/4","8","8/1","8/5","10","10/1","10/3","10/4","12","12/1","12/5","12/6","14","14/1","15","15/1","15/2","15/4","15/5","16","16/1","16/2","16/21","16/2B","16/3","16/4","17","17/1","17/2","17/4","17/5","17/6","17/7","17/8","18","18/1","18/2","18/3","18/5","18/95","19","19/1","19/2","19/3","19/4","19/5","19/6","19/7","19/8","20","20/1","20/2","20/3","20/4","21","21/1","21/2","21/3","21/4","22","22/9","23","23/2","23/4","24","24/1","24/2","24/3","24/A","25","25/1","25/10","25/2","25/4","25/5","25/6","25/7","25/8","25/9","26","26/1","26/6","27","27/2","28","28/1","29","29/2","29/3","29/4","30","30/1","30/2","30/3","31","31/1","31/3","32/A","33","34","34/1","34/11","34/2","34/3","35","35/1","35/2","35/4","36","36/1","36/A","37","37/1","37/2","38","38/1","38/2","39/1","39/2","39/3","39/4","40","40/1","41","41/2","42","43","44","45","45/1","45/10","45/11","45/12","45/13","45/14","45/15","45/16","45/17","45/2","45/3","45/6","45/7","45/8","45/9","46","47","47/2","49","49/1","50","51","51/1","51/2","52","53","54","55/7","66","109","122","190/8","412"], {minChars:1, mustMatch:true}).result(function(event, result, formatted) {
var found=false;
for(var index=0; index<HChouses.length; index++) //HChouses is the same array used for init, but each entry is paired with a database ID.
if(HChouses[index][0]==result)
{
found=true;
HChouseId=HChouses[index][1];
$("#row_house .button-finish").click(function() {
QueryServer("HouseConnect","FillData",true,HChouseId); //this performs an AJAX request
});
break;
}
if(!found)
$("#row_house .button-finish").unbind("click");
});
Each time I start typing (say I press the "1" button), the text appears and gets deleted instantly. Rarely at all after repeated presses I get the list (although much shorter than it should be)
But if after that I press the second digit, the whole thing disappears again. P.S. I use Firefox 3.6.3 for development.
© Stack Overflow or respective owner