如何使用纯 javascript 激活级联下拉自动选择
How to activate Cascading Dropdown auto-selection using pure javascript
我正在尝试通过 Keyboard Maestro 中的执行 Javascript 宏 select 下拉项。该代码适用于 select 并验证下拉项目,但在我使用它的页面中,还有其他下拉菜单应根据 selection 自动填充。当我手动单击下拉项时,其他下拉项会相应更新。通过我正在使用的 javascript,它 select 是该项目,但保留了其他下拉菜单。我需要使用纯 javascript 而不是 jquery。有没有人对如何让页面根据 javascript selection 做出反应有任何想法?
// variable to enter into dropdown
var vDropdownInput = (document.kmvar.vZEROInput);
// variable to get the Element by ID
var objSelect = document.getElementById("web-selection_"+document.kmvar.vZEROIndex+"_");
// function to do the work
setSelectedValue(objSelect, vDropdownInput);
// function definition
function setSelectedValue(object, value) {
for (var i = 0; i < object.options.length; i++) {
if (object.options[i].text === value) {
object.options[i].selectedIndex = i;
return;
}
}
// Throw exception if option `value` not found.
var tag = object.nodeName;
var str = value;
return str;
}
编辑:我发现这个相关 post 但我只是没有得到建议的解决方案。
Select item in CascadingDropDown via JavaScript & invoke update
How do I programmatically force an onchange event on an input?
这回答了我的问题。
var element = document.getElementById('just_an_example');
var event = new Event('change');
element.dispatchEvent(event);
我正在尝试通过 Keyboard Maestro 中的执行 Javascript 宏 select 下拉项。该代码适用于 select 并验证下拉项目,但在我使用它的页面中,还有其他下拉菜单应根据 selection 自动填充。当我手动单击下拉项时,其他下拉项会相应更新。通过我正在使用的 javascript,它 select 是该项目,但保留了其他下拉菜单。我需要使用纯 javascript 而不是 jquery。有没有人对如何让页面根据 javascript selection 做出反应有任何想法?
// variable to enter into dropdown
var vDropdownInput = (document.kmvar.vZEROInput);
// variable to get the Element by ID
var objSelect = document.getElementById("web-selection_"+document.kmvar.vZEROIndex+"_");
// function to do the work
setSelectedValue(objSelect, vDropdownInput);
// function definition
function setSelectedValue(object, value) {
for (var i = 0; i < object.options.length; i++) {
if (object.options[i].text === value) {
object.options[i].selectedIndex = i;
return;
}
}
// Throw exception if option `value` not found.
var tag = object.nodeName;
var str = value;
return str;
}
编辑:我发现这个相关 post 但我只是没有得到建议的解决方案。 Select item in CascadingDropDown via JavaScript & invoke update
How do I programmatically force an onchange event on an input?
这回答了我的问题。
var element = document.getElementById('just_an_example');
var event = new Event('change');
element.dispatchEvent(event);