我对下拉事件有疑问。假设我有两个下拉列表,当第一个下拉列表的选项被更改时,第二个下拉列表的所有选项都被替换为其他选项。例如,假设第一个下拉列表包含以下选项:
现在,如果我选择Car选项,第二个下拉列表将包含以下选项:
如果我选择Bike选项,则第二个下拉列表将包含以下选项:
是否有可用于检测第二个下拉列表选项刷新的事件?
谢谢
答案 0 :(得分:0)
不存在这样的基本事件。如果确实需要 - 您可以创建自己的事件,当第二次选择并听取更改时触发。
不是真正清晰但完整的文档:https://developer.mozilla.org/en-US/docs/Web/API/Event
清楚但很短:JavaScript custom Event Listener
但我认为更优选的方式是听第一个选择的更改,并在此事件中查看第二个选择的html。
答案 1 :(得分:0)
我假设您有下拉列表,如下所示
<select id="vehichleDropdown" onchange="onVehichleDropdownChange()">
....
<select id="makeDropdown" onchange="onMakeDropdownChange()">
....
你已经在你的javascript中实现了onVehichleDropdownChange()和onMakeDropdownChange()来进行ajax调用来执行操作。如果您有此设置,当您更改第一个下拉列表时,第二个下拉列表的值将会更改。您可以按照此处所述的多种方式触发第二个下拉列表的onChange事件 - How can I trigger an onchange event manually?
我在这里设置了一个工作小提琴供你参考 - https://jsfiddle.net/t2tak52f/1/
像这样的东西
onVehichleDropdownChange = function() {
....... //logic to populate second dropdown
makeDropdown.onchange();
}