0

注意:答案标记为答案,回答标题中的问题。但是,我使用提前输入下拉菜单的根本问题是通过迁移到 IE8 来解决的。

我有一个下拉列表,当我点击一个新的选择时,我想引起回发(“this.form.submit()”)但前提是点击下拉列表只是改变了选择。

Note that OnChange will NOT work because when the selection is changed by the keyboard I would not want to postback because it is a type ahead dropdown list.

我还想我可以使用 OnChange 并检查更改是否是由鼠标引起的。

也许如果我们能想出两种解决方案,我会看看哪个效果更好?

非常感谢你的帮助!!!!!

编辑:更多信息:

自动回发=真;不管用。(不希望它在键盘更改选择时回发)

onBlur = doPostBack; 我试过这个,但结果不是最优的。用户必须在用鼠标进行选择后单击 ddl。

我认为,另一种说明我想做的事情的方法是在 OnChange 和 OnClick 事件同时触发时进行回发。

4

2 回答 2

1

在 OnClick 事件中,我有设置 ddl.value = true 的 javascript;

在 OnChange 事件中,我检查 ddl.Value = true 如果是,我回发并将其设置为 false。

在 OnKeyDown 上,我设置 ddl.Value = false 以便当我单击 ddl 时,它只会在我用鼠标更改选择时回发,如果我按下一个键以使用预先输入功能,它不会回发。

不是最优雅的解决方案,但它有效,你必须给我创造力。

注意:此解决方案与在 OnKeyDown 上触发的脚本结合使用,该脚本运行 type-ahead-ddl(即,当您按下某个键时将您移动到最近的选择)并在您按下回车时回发。

于 2010-07-29T10:48:28.653 回答
0

你试过 AutoPostBack="true" 吗?

于 2010-07-26T13:30:07.450 回答