Javascript 基于2个元素的AJAX搜索

Javascript 基于2个元素的AJAX搜索,javascript,jquery,ajax,asp-classic,Javascript,Jquery,Ajax,Asp Classic,我正在做一个使用经典ASP(不是我的想法)和AJAX的项目,后者使用access数据库从中提取数据。我有以下表格: <form action="" id="autocomplete-search"> <div class="simplesearch"> <label for="intesearch">Start typing a name</label> <input type="text" onkeyup="showCustomer(th

我正在做一个使用经典ASP(不是我的想法)和AJAX的项目,后者使用access数据库从中提取数据。我有以下表格:

<form action="" id="autocomplete-search"> 
<div class="simplesearch">
<label for="intesearch">Start typing a name</label>
<input type="text" onkeyup="showCustomer(this.value)" id="intesearch" onfocus="disable_submit()">
</div>
此链接指向一个ASP文件:

<%
response.expires=-1
dim name
name = request.querystring("q")
sql="SELECT person.id, person.forename, person.surname, person.postid, person.extension, person.internal_extension, person.mobile,  person.room_number, job.id, job.name FROM staff INNER JOIN posts ON job.id = person.jobid WHERE (person.forename & person.surname like '%" & name & "%') or job.name like '%" & name & "%'
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open("E:\websites\directory\database.mdb")
set rs=Server.CreateObject("ADODB.recordset")
rs.Open sql,conn
response.write("<table>")
response.write("<thead>")
response.write("<tr>")
 response.write("<th>Forename</th>")
 response.write("<th>Surname</th>")
 response.write("<th>Extension</th>")
 response.write("<th>Internal Ext.</th>")
 response.write("<th>Mobile</th>")
 response.write("<th>Room No.</th>")
 response.write("<th></th>")
 response.write("</tr>")
 response.write("</thead>")
 response.write("<tbody>")
 Do While Not rs.EOF
     response.write("<tr>")
     response.write("<td>" & rs("forename") & "</td>")
     response.write("<td>" & rs("surname") & "</td>")
     response.write("<td>" & rs("extension") & "</td>")
     response.write("<td>" & rs("internal_extension") & "</td>")
     response.write("<td>" & rs("mobile") & "</td>")
     response.write("<td>" & rs("room_number") & "</td>")
      response.write("<td>" & rs("name") & "</td>")
      response.write("<td><a href='index.asp?View=StaffRecord&StaffID=" & rs("id") & "'>Record</a></td>")
     response.write("</tr>")
rs.MoveNext
loop
response.write("</tbody>")
response.write("</table>")
%>

您的查询需要这样更改,以将表引用为job和person

sql="SELECT person.id, person.forename, person.surname, person.postid, person.extension, person.internal_extension, person.mobile,  person.room_number, job.id, job.name FROM staff as person INNER JOIN posts as job ON job.id = person.jobid WHERE ((person.forename like '%' and person.surname like '%' and name like '%') or (job.name like '%' and name like '%'))";

您确定sql语句是正确的吗?执行join的表似乎是
staff
posts
,但在查询中,您使用
job.
person.
sql应该是person和jobok我已更新查询。您试图通过此查询实现什么,因为像“%”这样的
将返回该字段的所有行!如果我有一个标准的foirm,查询就可以工作。我只是想使用ajax在用户键入名称时返回一个结果列表,类似于自动完成搜索。如果我有一个表,则有效,但如果我包含作业表,则无效
sql="SELECT person.id, person.forename, person.surname, person.postid, person.extension, person.internal_extension, person.mobile,  person.room_number, job.id, job.name FROM staff as person INNER JOIN posts as job ON job.id = person.jobid WHERE ((person.forename like '%' and person.surname like '%' and name like '%') or (job.name like '%' and name like '%'))";