日期:2014-05-18  浏览次数:20419 次

关于TextBox 的change事件的问题
我在ASP.NET页面有个TextBox,我用Jquery给它一个change事件,然后还给文本框
一个初始值,为什么这个方法在第一改变时不会触发?非要第二次改变时才会触发change事件啊?

  $(document).ready(function(){
  var txthtmoney=$("#<%=txthtmoney.ClientID %>");//合同总金额
  var txtzf1=$("#<%= txtzf1.ClientID %>");  
  txtzf1.change(function(){//第一个文本框的值改变事件
  if(txthtmoney.val()!="" && txthtmoney.val()!="0")
  {
  alert("aa");
  }
  });
求解!如果我表达不够清楚,请指出!谢谢

------解决方案--------------------
我也想知道为什么,但是我一般都用keyup事件来做这样的事情,待人回答上面的理论。。
------解决方案--------------------
只能说jquery就是这样的,只有第二次才会触发change事件
------解决方案--------------------
用keyup就好了,键盘动了就执行,当然LZ还可以考虑focusout失去焦点来试试
------解决方案--------------------
别用onchange,建议使用onblur或onpropertychange

因为onchange在某些时候是不会触发的,比如说在设置自动完成功能的TextBox,就不会触发onblur事件

 而keyup事件也不合适,鼠标右键选择粘贴,是不会触发的
------解决方案--------------------
我也建议用onblur,获取文本框的值,在js里付给把结果付给另一个文本框