1

Here's what I want to achieve, I have a select box that loads in a few rows, when the select is changed (onchange) the key is AJAXed to a PHP function that returns an array in the JSON format, my code then clears the select框选项并应用我刚刚从我的 PHP 函数返回的值,太好了。

问题是当设置新值时,它会再次触发 onchange 事件,这会设置值并且我们处于一个永无止境的循环的开始。Firebug 捕捉到错误并将其吐出。

我的问题是有没有办法禁用 onchange 事件,所以它只触发一次?我正在基于原型的框架中进行编码,发布代码示例会有点繁重,但是我可以尝试根据要求填写任何丢失的数据。

干杯! ILMV

4

1 回答 1

1

使用标志变量。不要担心停止onchange发生,而是将其逻辑包装在基于标志变量的条件中。

基本上,您只需创建一个变量canChange,并false在您以编程方式更新输入时将其设置为。然后,在onchange逻辑中,检查该变量的值。如果它是假的,不要做任何事情,而是将它切换回true下一个onchange事件。如果是这样,请执行典型的 ajax 请求以获取新数据。

于 2010-02-02T14:17:24.107 回答