Ajax实现在textbox中输入内容,动态从数据库中模糊查询显示到下拉框中

时间:2023-01-08 21:16:22

功能:在textbox中输入内容,动态从数据库模糊查询显示到下拉框中,以供选择
  1.建立一aspx页面,html代码
  <HTML>
   <HEAD>
   <title>WebForm1</title>
   <SCRIPT language="javascript">
   //城市------------------------------
   function cityResult()
   {
   var city=document.getElementById("TextBox1");
   WebForm1.GetCityList(city.value,get_city_Result_CallBack);
   }
  
   function get_city_Result_CallBack(response)
   {
   if (response.value != null)
   {
   //debugger;
   document.getElementById("DropDownList1").style.display="block";
   document.getElementById("DropDownList1").length=0;
   var ds = response.value;
   if(ds != null && typeof(ds) == "object" && ds.Tables != null)
   {
   for(var i=0; i<ds.Tables[0].Rows.length; i++)
   {
   var name=ds.Tables[0].Rows[i].city;
   var id=ds.Tables[0].Rows[i].cityID;
   document.getElementById("DropDownList1").options.add(new Option(name,id));
   }
   }
   }
   else
   {
   document.getElementById("DropDownList1").style.display="none";
   }
   return
   }
  
   function getData()
   {
   var province=document.getElementById("DropDownList1");
   var pindex = province.selectedIndex;
   var pValue = province.options[pindex].value;
   var pText = province.options[pindex].text;
   document.getElementById("<%=TextBox1.ClientID%>").innerText=pText;
   }
   </SCRIPT>
   </HEAD>
   <body>
   <form id="Form1" method="post" runat="server">
   <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
   <br>
   <asp:DropDownList ID="DropDownList1" runat="server" Width="192px" style="display:none"></asp:DropDownList>
   </form>
   </body>
  </HTML>2.cs代码
  using System;
  using System.Collections;
  using System.ComponentModel;
  using System.Data;
  using System.Drawing;
  using System.Web;
  using System.Web.SessionState;
  using System.Web.UI;
  using System.Web.UI.WebControls;
  using System.Web.UI.HtmlControls;
  using System.Data.SqlClient;
  namespace ajaxselect
  {
   /**//// <summary>
   /// Summary description for WebForm1.
   /// </summary>
   public class WebForm1 : System.Web.UI.Page
   {
   protected System.Web.UI.WebControls.TextBox TextBox1;
   protected System.Web.UI.WebControls.DropDownList DropDownList1;
  
   private void Page_Load(object sender, System.EventArgs e)
   {
   Ajax.Utility.RegisterTypeForAjax(typeof(WebForm1));
   if (!Page.IsPostBack)
   {
   this.TextBox1.Attributes.Add("onchange", "cityResult();");
   this.DropDownList1.Attributes.Add("onclick", "getData();");
   }
   }
   Web Form Designer generated code#region Web Form Designer generated code
   override protected void OnInit(EventArgs e)
   {
   //
   // CODEGEN: This call is required by the ASP.NET Web Form Designer.
   //
   InitializeComponent();
   base.OnInit(e);
   }
  
   /**//// <summary>
   /// Required method for Designer support - do not modify
   /// the contents of this method with the code editor.
   /// </summary>
   private void InitializeComponent()
   {
   this.Load += new System.EventHandler(this.Page_Load);
   }
   #endregion
   GetCityList#region GetCityList
   [Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.Read)]
   public DataSet GetCityList(int provinceid)
   {
   string sql = "select * from city where father like '%" + provinceid + "%'";
   return GetDataSet(sql);
   }
   #endregion
   GetDataSet#region GetDataSet
   public static DataSet GetDataSet(string sql)
   {
   string ConnectionString = System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"];
   SqlDataAdapter sda = new SqlDataAdapter(sql, ConnectionString);
   DataSet ds = new DataSet();
   sda.Fill(ds);
   return ds;
   }
   #endregion
   }
  }3.源代码下载
  4.数据库脚本
  CREATE TABLE [dbo].[city](
   [id] [int] NOT NULL,
   [cityID] [nvarchar](6) COLLATE Chinese_PRC_CI_AS NULL,
   [city] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
   [father] [nvarchar](6) COLLATE Chinese_PRC_CI_AS NULL,
  CONSTRAINT [PK_city] PRIMARY KEY CLUSTERED
  (
   [id] ASC
  )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
  ) ON [PRIMARY](王朝网络 wangchao.net.cn)

Ajax实现在textbox中输入内容,动态从数据库中模糊查询显示到下拉框中的更多相关文章

  1. JavaScript解决select下拉框中的内容太长显示不全的问题

    JavaScript解决select下拉框中的内容太长显示不全的问题 1.说明 有些情况下,select下拉框的内容过长,导致部分看不见: 现在通过鼠标事件,让下拉框中的内容显示完全 2.实现源码 & ...

  2. 利用js取到下拉框中选择的值

    现在的需求是:下拉框中要是选择加盟商让其继续选择学校,要是选择平台管理员则不需要选择学校.隐藏选择下拉列表. 选择枚举值: /// <summary> /// 平台角色 /// </ ...

  3. 让下拉框中同时显示Key与Value

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  4. jquery选中将select下拉框中一项后赋值给text文本框

    jquery选中将select下拉框中一项后赋值给text文本框,出现无法将第一个下拉框的value赋值给文本框 因为select默认选中第一项..在选择第一项时,便导致无法激发onchange事件. ...

  5. 快速解决js开发下拉框中blur与click冲突

    在开发中我们会经常遇到blur和click冲突的情况.下面叙述了开发中常遇到的"下拉框"的问题,并提供了两种解决方案. 一.blur和click事件简述 blur事件:当元素失去焦 ...

  6. JavaScript向select下拉框中加入和删除元素

    JavaScript向select下拉框中加入和删除元素 1.说明 a   利用append()方法向下拉框中加入元素 b   利用remove()方法移除下拉框中最后一个元素 2.设计源代码 &lt ...

  7. JavaScript向select下拉框中添加和删除元素

    JavaScript向select下拉框中添加和删除元素 1.说明 a   利用append()方法向下拉框中添加元素 b   利用remove()方法移除下拉框中最后一个元素 2.设计源码 < ...

  8. JavaScript获取select下拉框中的第一个值

    JavaScript获取select下拉框中的第一个值 1.说明 获取select下拉框中的第一个值 2.实现源码 <!DOCTYPE html PUBLIC "-//W3C//DTD ...

  9. Java-Selenium,获取下拉框中的每个选项的值,并随机选择某个选项

    今天逛51testing,看见有人问这个问题.现在以Select标签为例. 1.首先看页面中的下拉框,如图: 2.F12查看页面源代码,如下 <select class="form-c ...

随机推荐

  1. ListView&period;setAdapter&lpar;adapter&rpar;&semi;空指针异常的解决的总结

    报空指针异常一般的情况: 1,没有找到布局文件的ID  检验是不是id重复或者写错了 2.控件没有实例化 3.没有找到布局文件的id,要看看是不是加载了布局了,必须加载了对应的布局才能找到对应布局下的 ...

  2. jquery工具方法proxy

    proxy : 改变this指向 使用方法1:function show(){ alert(this); }$.proxy(show,document)();  //document 使用方法2:fu ...

  3. 你都认识下面这些参数么?【Camera】

    在调试的时候利用下面这个函数将 Camera AP 部分所设置的参数全部 dump 出来了,真是多啊! 这里仅限于 MTK 平台,MTK 自己在相机这块添加了许多功能,所以看起来就有一大堆的参数. 调 ...

  4. 20145210 《Java程序设计》第十周学习总结

    教材学习内容总结 网络编程 •网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据. •程序员所作的事情就是把数据发送到指定的位置,或者接收到指定的数据,这个就是狭义的网络编程范畴. •在发送 ...

  5. epoll重要

    EPOLL事件分发系统可以运转在两种模式下:Edge Triggered (ET).Level Triggered (LT). LT是缺省的工作方式,并且同时支持block和no-blocksocke ...

  6. ORACLE创建、修改、删除序列

    ORACLE没有象SQL SERVER中一样的自增加字段,要实现只能通过SEQUENCE来实现. 1.创建序列语法:(需要CREATE SEQUENCE系统权限) CREATE SEQUENCE 序列 ...

  7. 简单的jQuery日期选择

    建立一个存放日期的文本框 点击文本框弹出一个选择框引用jQuery文件引用bootstrap文件 使用模态框 使用模态框的方法设置点击文本框显示模态框手动打开模态框的方法:$('id').modal( ...

  8. Asus 安装 windows 7

    尊敬的华硕用户您好, 您是不是要让S400从usb和光驱启动呢.可以按如下步骤操作,1.开机的时候长按F2键进入BIOS界面,通过方向键进入[Boot]菜单,通过方向键选择[Lunch CSM]选项, ...

  9. hdu1205&lpar;类似 分布垃圾数列&rpar;

    Problem Description A Fibonacci sequence is calculated by adding the previous two members the sequen ...

  10. Android 窗口全屏

    全屏getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); 取消全屏 getWindow().clearFlags(Wind ...