如何使用纯JavaScript激活级联下拉自动选择

时间:2019-03-04 15:18:20

标签: javascript html dropdown keyboard-maestro

我试图通过Keyboard Maestro内部的Execute Javascript宏选择一个下拉项。该代码可以选择并验证下拉菜单项,但是在与之配合使用的页面中,应根据选择自动填充其他下拉菜单项。当我手动单击一个下拉菜单项时,其他下拉菜单也会相应更新。通过我使用的javascript,它选择了该项目,但保留了其他下拉菜单。我需要使用纯JavaScript而不是jquery。是否有人对基于javascript选择的页面反应有任何想法?

// 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;
}

编辑:我找到了这个相关的帖子,但是我没有得到建议的解决方案。 Select item in CascadingDropDown via JavaScript & invoke update

1 个答案:

答案 0 :(得分:0)

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);