我在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里付给把结果付给另一个文本框