我正在使用油脂猴子用户脚本来重新设计UI的样式,并在一些奇怪的网站上自动进行初始输入,该网站使用jQuery和Select2。
我处理包含两个选择的行:
我需要在第一个选项中进行选择,以强制第二个选项加载相应的选项并启用。
让我们命名orgSelect是一个带有附加事件的HTMLSelectElement,而orgSpan是一个由Select2创建的“select+span>span.selection>span”元素,带有附加事件。
我可以设置orgSelect.value(显然)。
我可以为orgSelect调度“更改”事件,并看到所选值的呈现。但第二选择没有任何进展。
我可以点击orgSpan,期待下拉操作(我甚至在网上看到过这样一个例子,它很有效),但这对我不起作用。在orgSpan.click()上没有下拉操作。
所以,我可以设置select2的值,但如何正确触发它?
嗯。。。不知怎么的,我找到了合适的事件链。但我没有在纯JS中测试它。因为,首先我决定尝试从“不安全”窗口使用jQuery,由于它有效,我做了下一步:
orgSelect.val(orgId); orgSelect.trigger('change'); // rendering new value orgSelect.trigger('select2:select'); // starting actions for secondary <select>