Jquery实现边输入边查询,仿百度并可以选择查询的值赋到输入框

本例使用的是jquery-1.9.1,c#,稍加修改,也可以用于jsp,php等

主显示页面bsbc.aspx,代码如下


  1. <%@ Page Language="C#" AutoEventWireup="true" CodeFile="bsbc.aspx.cs" Inherits="Test_bsbc" %>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head runat="server">
  5. <title></title>
  6. <script src="jquery-1.9.1.js" type="text/javascript"></script>
  7. <script type="text/javascript">
  8. $().ready(function() {
  9. //输入框键盘按键松开事件
  10. $("#shuru").keyup(function() {
  11. $.post("bsbcUser.aspx?username=" + $("#shuru")[0].value, function(data) {
  12. $("#testDIV").show();
  13. $("#testDIV").empty();
  14. $("#testDIV").append(data);
  15. //偶数行
  16. //$("tr:odd").css("background-color", "#e5e5e5");//背景色
  17. $("tr:odd").each(function() {
  18. });
  19. //奇数行
  20. $("tr:even").each(function() {
  21. //单击事件
  22. $(this).click(function() {
  23. });
  24. });
  25. });
  26. /*****************/
  27. //设置div位置,在input后面
  28. var shuru = $("#shuru");
  29. var offset = shuru.offset();
  30. $("#testDIV").css('left', offset.left + shuru.width() + 2 + 'px')
  31. .css('top', offset.top + 'px')
  32. .css('position', 'absolute')
  33. .css('z-index', '99')
  34. .fadeIn();
  35. /******************/
  36. //Div鼠标滑过事件
  37. $("#testDIV").mouseover(
  38. function() {
  39. //firstCol列添加click事件,给其他控件赋值
  40. $(".firstCol").click(function() {
  41. $("#shuru").val($(this).text());
  42. $("#testDIV").empty();
  43. });
  44. }
  45. );
  46. $("#testDIV").mouseleave(
  47. function() {
  48. //置空div
  49. $("#testDIV").empty();
  50. }
  51. );
  52. /******************/
  53. //回车事件
  54. // $(window).keydown(function(event) {
  55. // switch (event.keyCode) {
  56. // ...
  57. // 不同的按键可以做不同的事情
  58. // 不同的浏览器的keycode不同
  59. // 更多详细信息: http://unixpapa.com/js/key.html
  60. //case 13:
  61. // break;
  62. // }
  63. // });
  64. /*******************/
  65. });
  66. });
  67. </script>
  68. </head>
  69. <body>
  70. <form id="form1" runat="server">
  71. </form>
  72. <h3>
  73. 请在下面的输入框中键入字母(A - Z):</h3>
  74. <input id="shuru" type="text" style="border: 1px solid" />
  75. <div id="testDIV" style="height: 200px; width: 200px; overflow: auto; color: #0000FF">
  76. </div>
  77. </body>
  78. </html>

post跳转回传页面,前台无代码html代码,后台代码直接respon.wrilte,输出html文本

bsbcUser.aspx前台代码


  1. <%@ Page Language="C#" AutoEventWireup="true" CodeFile="bsbcUser.aspx.cs" Inherits="Test_bsbcUser" %>
  2. <head id="Head1" runat="server">
  3. </head>

bsbcUser.aspx后台代码


  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Web.UI;
  6. using System.Web.UI.WebControls;
  7. using System.Data;
  8. using System.IO;
  9. public partial class Test_bsbcUser : BasePageWithHR
  10. {
  11. protected void Page_Load(object sender, EventArgs e)
  12. {
  13. Response.Write("<table height='200px'>" + test() + "</table>");
  14. }
  15. public String test()
  16. {
  17. string sql = "select * from [user] where user_name like'%"+Request["username"]+"%'";
  18. DataSet ds = Commons.PublicMethod.Instance.PublicTable(sql);//数据库查询
  19. StringWriter sw = new StringWriter();
  20. sw.WriteLine("<table cellspacing='0' style='background-color:#e5e5e5'border='1' id='tabTest'>");
  21. if (ds.Tables[0].Rows.Count > 0)
  22. {
  23. int i = 0;
  24. foreach (DataRow dr in ds.Tables[0].Rows)
  25. {
  26. i++;
  27. sw.WriteLine("<tr>");
  28. sw.WriteLine("<td>" + i);
  29. sw.WriteLine("</td>");
  30. sw.WriteLine("<td class='firstCol'>" + dr["user_name"].ToString());
  31. sw.WriteLine("</td>");
  32. sw.WriteLine("<td>" + dr["password"].ToString());
  33. sw.WriteLine("</td>");
  34. sw.WriteLine("</tr>");
  35. }
  36. }
  37. else {
  38. sw.WriteLine("<tr>");
  39. sw.WriteLine("<td>" );
  40. sw.WriteLine("抱歉,没有该关键词的相关数据");
  41. sw.WriteLine("</td>");
  42. sw.WriteLine("</tr>");
  43. }
  44. sw.WriteLine("</table>");
  45. return sw.ToString();
  46. }
  47. }

Jquery实现边输入边查询,仿百度并可以选择查询的值赋到输入框

相关推荐