空格键后ajax搜索无法正常工作

时间:2012-09-17 08:16:02

标签: java javascript ajax jsp

我有以下代码,根据名字和姓氏进行搜索。一旦我按下名字后的空格,搜索结果就会消失。如何在按空格后显示搜索结果。我在文本框中为firstname / LastName调用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 个答案:

答案 0 :(得分:1)

SQL语句中的变量name,尝试修剪其中的所有前导和尾随空格。这应该可行。由于姓氏和名字分为两个不同的列。当你遇到太空。像John<whitespace>这样的值被发送到查询。现在显然在你的名字中,列名必须只是John,没有空格。当查询尝试使用尾随空格查找名称John时,它可能会失败。因此,在您进入太空后,您的搜索结果就会消失。