我有三个组合框(部门,类别和子类别),请参阅附件jsfiddle示例:http://jsfiddle.net/cFLQr/1/
当我选择第二个组合框(类别)时,更改事件被触发,但由于某种原因,如果我然后立即点击第三个组合框(在页面上没有任何其他交互),我收到“无法读取属性”的错误值'未定义'。
但是,如果我做的事情略有不同并选择第二个组合框(类别),然后在页面上的其他位置单击,事件将被触发两次(一次更改,一次点击页面上的其他位置)。第二个更改事件将停止上述错误并传递正确的信息。
请您帮助我理解为什么在页面的其他地方点击第二次更改事件,以及为什么第一次更改事件不能完成第二次更改事件的工作。 : - /
非常感谢你 富
PS值得一提的是,我把一些虚拟数据丢进了这些小提琴中。我在本地环境中动态调用数据答案 0 :(得分:0)
基本上问题是您正在使用客户端对象公开的 selectedIndex 字段 - 实际上它不是公共字段。它是供内部使用的。
如果您想在更改事件发生时获取值和/或文本,则需要使用相应的方法 - text() and value()。
在更改事件处理程序中,此指向客户端对象。
因此您可以输入this.text()
来获取文本,并this.value()
来获取值:)
这是一个更新的jsfiddle