2016-07-19 10 views
0

Я следовал примеры http://jqueryui.com/autocomplete/Не фильтрация данных в Jquery автозаполнения

но вместо фиксированного массива я хотел динамический массив из базы данных

Я почти получил это работает, но как я печатаю его не будет фильтровать результаты, и даже если я наберу букву, которая не существует в массиве, она по-прежнему показывает полный список.

enter image description here

search.asp

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta charset="utf-8"> 
<meta name="viewport" content="width=device-width, initial-scale=1"> 
<title>jQuery UI Autocomplete - Default functionality</title> 
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.0/themes/base/jquery-ui.css"> 
<link rel="stylesheet" href="/resources/demos/style.css"> 
<script src="https://code.jquery.com/jquery-1.12.4.js"></script> 
<script src="https://code.jquery.com/ui/1.12.0/jquery-ui.js"></script> 
<script> 
$(function() { 
$("#tags").autocomplete({ 
    source: 'http://fullurl/autocomplete.asp' 
}); 
}); 
</script> 
</head> 
<body> 

<div class="ui-widget"> 
<label for="tags">Tags: </label> 
<input id="tags"> 
</div> 

autocomplete.asp

<% 
sConn = "DRIVER={MySQL ODBC 5.1 Driver}; SERVER=SERVER; Port=3306; DATABASE=database; UID=username;PASSWORD=password; OPTION=3"  
Set Conn = Server.CreateObject("ADODB.Connection") 
Conn.Open sConn 

sSQL = "SELECT * FROM makes ORDER BY makes ASC;" 

Set rst = Server.CreateObject("ADODB.Recordset") 
rst.CursorLocation = 3 
rst.Open sSQL, Conn, 3, 1 

output = "[" 

DO Until rst.EOF 
output = output & chr(34) & rst("makes") & chr(34) & "," 
rst.movenext 
Loop 

output = left(output,(len(output)-1)) 
output = output & "]" 

Response.Write output 

rst.close 
Conn.Close 
%> 

Это результат autocomplete.asp: [ "ACER", "DELL", "HP", "LENOVO", "SONY"]

какие-либо идеи, что я сделал неправильно, или пропускал

ответ

0

Изменено JQuery к следующему и работает отлично сейчас

<script> 
$(function() { 
$.getJSON("autocomplete.asp", function(data) { 
    $("#tags").autocomplete({ 
     source: data 
    }); 
    }); 
}); 
</script>