【发布时间】:2011-03-11 03:55:36
【问题描述】:
好的,我有一个问题,可能很简单。但我似乎无法理解发生了什么。我有 3 个安全问题下拉菜单。我在 ASPX 页面上有 javascript,当您选择一个问题时,它会删除问题/重新填充它们(因此您无法重新选择其他 2 个框中的问题)。当用户使用已选择的问题编辑他们的个人资料时,这非常有效。但是,当用户第一次选择所有三个框在 selectedIndex 0 处列出“请选择一个问题”的问题时,onChange 不会触发。该功能甚至不会去。我认为这与选择索引为 0 的变化有很大关系。我已经调试了这个东西,它甚至没有进入函数。我什至将 onchange 操作设置为闪烁警报。当我尝试从选定的索引 0 执行 onchange 时,似乎出了点问题。有什么想法吗?
【问题讨论】:
-
如果用户没有改变任何东西,为什么浏览器会触发一个“改变”事件呢?也许我误解了这个问题。
-
仔细检查您是否订阅
-
它会在页面加载时启动,因为如果用户已经保存了问题怎么办?这允许从其他 2 中删除下拉项目。这通过一个重新填充列表的函数运行,然后比较每个问题并从每个框中删除适当的问题。但是,由于某种原因,当所选索引为 0 或“请选择一个问题”时,我的 c# 代码上的 onChange 命令不会触发该函数。
-
嗯,它确实有效,正如您从这个测试页面中看到的那样:gutfullofbeer.net/change-handler.html 您应该发布一些代码。这可能会让别人发现你的问题是什么。
-
奇怪的是,我什至只用一个简单的警报就测试了 onChange。由于某种原因,它不起作用。如果所有安全问题都设置在索引 0 上并且“请选择安全问题”,它不会发生变化。这是一个简单的测试:securityQuestionDropDown1.Attributes.Add("onChange", "javascript:alert('HELLO');");这甚至不会触发警报。
标签: c# asp.net javascript drop-down-menu