有三个文本框,A,B,C,其中A为日期框,B是普通文本框,C是普通文本框,当A改变时触发,改变B中的内容,同时因为C和B有级联,需要在B中的内容改变后,同时改变C中的内容,但是现在B改变了,C没有改变,用的onchange(),请大家帮忙想一下吧
有三个文本框,A,B,C,其中A为日期框,B是普通文本框,C是普通文本框,当A改变时触发,改变B中的内容,同时因为C和B有级联,需要在B中的内容改变后,同时改变C中的内容,但是现在B改变了,C没有改变,用的onchange(),请大家帮忙想一下吧
onchange 没有失去焦点或者输入的情况下不能触发,所以我才建议下面这样写
var A = fucntion(){
dosmth...
B();
}
var B = function(){
dosmth...
C();
}
var C= function(){
....
}
首先,
A触发事件以后,只能关联到B,C无法改变。
所以,你只能在A发生改变的时候,主动触发b的change事件,以及c的change事件。
或者,当A触发事件以后,b,c进行数据监听。比如,A.id改变,导致,B.id改变,那么对B.id监听。如果发生改变,立即通知C进行更改
10 回答11.7k 阅读
2 回答3.2k 阅读✓ 已解决
8 回答6.5k 阅读
2 回答4.3k 阅读✓ 已解决
2 回答862 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
我应该知道你哪里错了,如果你想a的改变控制 B 和 c的话,a的onchange要做两个事情 改变b 改变c,B的onchange做一个事情改变c
说明:
js中onchange事件是在客户端改变输入控件的值,比如B文本框,会触发的一个事件。但是如果是A文本框通过js方法改变B的value,而不是通过键盘输入改变B值的话,是不会触发B的onchange事件的。所以,c不会改变。