首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

文本框自动提示发生一个很奇怪的有关问题

2012-04-16 
文本框自动提示发生一个很奇怪的问题最近在做一个文本框的自动提示,类似百度 ,google 查询的提示, 在文本

文本框自动提示发生一个很奇怪的问题
最近在做一个文本框的自动提示,类似百度 ,google 查询的提示, 在文本框里输入内容后,通过AJAX 传到后台,查询出结果后返回到一个层里,点击这个层里的某条数据,这条数据就回填到文本框里,并触发文本框的 OnTextChanged 事件,该事件,会根据文本框里的值,查出一些数据,显示在页面上.
  现在的问题是,每当我在层里选择好一条数据后,还没等它回添到文本框里时,已经触发了OnTextChanged 事件,造成查询结果是还没有回填时的数据.这个是什么问题啊.如何能让他在数据回添到文本框之后,才触发OnTextChanged 事件.


  测试代码
<HTML>  
  <HEAD>  
  <script language="javascript" type="text/javascript" src="js/AjaxTextBox2.js"></script> 
  <title>WebForm2</title>  
  <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">  
  <meta name="CODE_LANGUAGE" Content="C#">  
  <meta name="vs_defaultClientScript" content="JavaScript">  
  <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">  
  <style type="text/css" >
  #txtsearchdiv div{COLOR: #000000; TEXT-DECORATION: none;
display:block;

width:60px;
height:24px;
line-height:24px;
background:#cccccc;
padding:1px 2px;
border:1px solid #999999;
cursor:pointer;
 
}
  </style>
  <script language="javascript">  
  function xx()  
  {  
  var txt = '<%=TextBox1.ClientID%>';  
  document.getElementById(txt).value = txt;  
  __doPostBack(txt,'');  
  }  
  
  function xxy(v)
  {
  var txt = '<%=TextBox1.ClientID%>';  
   
  document.getElementById('TextBox1').value = v;  
   
  __doPostBack('TextBox1',''); 
   
  }
  function gettext()
  {
  alert('2222');
  var strings = "<div sytle='border:1px solid #cccccc;'onclick=xxy('1111');>dianwo jiuduile2 </div>";
  strings+="<div sytle='border:1px solid #cccccc;'onclick=xxy('1111');>dianwo jiuduile2 </div>";
  strings+="<div sytle='border:1px solid #cccccc;'onclick=xxy('1111');>dianwo jiuduile2 </div>";
  strings+="<div sytle='border:1px solid #cccccc;'onclick=xxy('1111');>dianwo jiuduile2 </div>";
   
  document.getElementById('txtsearchdiv').innerHTML=strings;
  }
  </script>  
   
  </HEAD>  
  <body MS_POSITIONING="GridLayout">  
  <form id="Form1" method="post" runat="server">  
  <asp:TextBox id="TextBox1" runat="server" AutoPostBack="true" onkeyup="gettext();" autocomplete="off" OnTextChanged="txt_traffic_Id_TextChanged"></asp:TextBox>  
  <br /> <div id="txtsearchdiv" style="width:100px;background-color:White; display:block;border:1px solid #cccccc;" runat="server"></div>
  <button onclick="xx();">XX</button> 
  <a href="#" onclick="xx();">xxxx</a>  
  </form>  
  </body>  
  </HTML>

[解决办法]
http://www.cnblogs.com/zengxiangzhan/archive/2009/12/13/1623158.html

热点排行