Javascript 更新选择框而不导致onChange
这是我想要实现的,我有一个选择框,它加载几行,当选择被更改(onchange)时,键被转换为一个PHP函数,该函数返回一个JSON格式的数组,然后我的代码清除选择框选项并应用我刚从PHP函数返回的值,很好 问题是,当设置新值时,它会再次触发onchange事件,这会设置值,而我们正处于一个永无止境的循环的开始。Firebug捕捉到错误并将其吐出 我的问题是,有没有办法禁用onchange事件,使其只触发一次?我在一个基于原型的框架中进行编码,发布一个代码示例会有点繁重,但是我可以根据请求尝试填充任何缺失的数据 干杯!Javascript 更新选择框而不导致onChange,javascript,prototypejs,onchange,Javascript,Prototypejs,Onchange,这是我想要实现的,我有一个选择框,它加载几行,当选择被更改(onchange)时,键被转换为一个PHP函数,该函数返回一个JSON格式的数组,然后我的代码清除选择框选项并应用我刚从PHP函数返回的值,很好 问题是,当设置新值时,它会再次触发onchange事件,这会设置值,而我们正处于一个永无止境的循环的开始。Firebug捕捉到错误并将其吐出 我的问题是,有没有办法禁用onchange事件,使其只触发一次?我在一个基于原型的框架中进行编码,发布一个代码示例会有点繁重,但是我可以根据请求尝试填充
ILMV使用标志变量。不要担心一旦发生更改就停止
onchange
,而是基于标志变量将其逻辑包装在条件中
基本上,您只需创建一个变量
canChange
,并在以编程方式更新输入时将其设置为false
。然后,在onchange
逻辑中,检查该变量的值。如果为false,则不执行任何操作,而是将其切换回true
,以用于下一个onchange
事件。如果是真的,请使用标志变量执行典型的ajax请求以获取新数据。。不要担心一旦发生更改就停止onchange
,而是基于标志变量将其逻辑包装在条件中
基本上,您只需创建一个变量
canChange
,并在以编程方式更新输入时将其设置为false
。然后,在onchange
逻辑中,检查该变量的值。如果为false,则不执行任何操作,而是将其切换回true
,以用于下一个onchange
事件。如果这是真的,请执行您典型的ajax请求以获取新数据。谢谢您的回复,我想我可能必须走这条路,我会去玩一玩,然后报告我的发现:-)谢谢您的回复,我想我可能必须走这条路,我会去玩一玩,然后报告我的发现:-)