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