2012-09-17 81 views
0

我有下面的代碼,基於名字和姓氏搜索。一旦我在名字後按空格,搜索結果就會消失。如何在按空格後顯示搜索結果。我在firstname/LastName的文本框中調用ajax函數。ajax搜索後空格鍵不工作

<script type="text/javascript"> 
function lookup(inputString) { 
if(inputString.length == 0) { 
$('#suggestions').hide(); 
} else { 
$.post("states.jsp", {queryString: ""+inputString+""}, function(data){ 
if(data.length >0) { 
$('#suggestions').show(); 
$('#autoSuggestionsList').html(data); 
} 
}); 
} 
} 
function fill(thisValue) { 
$('#inputString').val(thisValue); 
setTimeout("$('#suggestions').hide();", 200); 
} 
</script> 

// States.JSP文件

String sql = "SELECT EMP_EMPLOYEE_ID, EMP_FNAME, EMP_LNAME FROM UAP.dbo.UAP_EMPLOYEE  where EMP_FNAME LIKE '%"+name+"%' OR EMP_LNAME LIKE '%"+name+"%';"; 
Statement stm = con.createStatement(); 
stm.executeQuery(sql); 
ResultSet rs= stm.getResultSet(); 
while (rs.next()){ 

out.println("<li onclick='fill(\""+rs.getString("EMP_FNAME")+" " +rs.getString("EMP_LNAME")+"\");'>"+rs.getString("EMP_FNAME")+" "+rs.getString("EMP_LNAME")+" </li>"); 
}}catch(Exception e){ 
out.println("Exception is ;"+e); 
} 

回答

1

變量name在SQL語句,嘗試修剪所有前導和尾部空格在裏面。這應該可能起作用。由於姓和名是在兩個不同的列中。當你擊中空間時。值這樣的John<whitespace>正在發送到查詢。現在很明顯,你的名字列名必須是John,沒有空格。由於查詢嘗試查找帶有空白後綴的名稱John,因此可能會失敗。因此,您的搜索結果在您點擊空間後正在消失。

+0

你覺得這有幫助嗎?即使我渴望知道;) – Shades88