答案 0 :(得分:1)
你试过了吗?
let select = document.getElementById("thePage:form:pBlock:address:addressTypeSelectionDropdown")
select.addEventListener("change", (event)=>{
console.log(event)
var s = document.createElement('script');
s.setAttribute('type', 'text/javascript');
s.content = "onchangeofPicklist()"
select.appendChild(s);
})
您需要使用事件侦听器拦截change事件,并且您应该能够从新的(扩展的)处理程序by injecting a script into the document调用现有的更改事件处理程序(如果需要)。
答案 1 :(得分:1)
更改事件在select
元素级别而非option
处触发,因此:
let customerAddress = labelAddress.parent().next().first().find("select");
customerAddress.change();
应该执行该操作并为select元素触发change
事件。如果要设置值,请使用val():
customerAddress.val("Closest to Customer");
答案 2 :(得分:0)
好的,这就是我要做的,类似于Michael.Lumley的回答:
let execFunct = function () {
let script: HTMLScriptElement = document.createElement("script");
script.textContent = "onchangeOfPicklist()";
(document.head || document.documentElement).appendChild(script);
script.parentNode.removeChild(script);
}
一旦我更改了下拉菜单,便执行execFunct()。