javascript - 自动生成下拉列表

标签 javascript html drop-down-menu

我尝试创建一个无限下拉列表。我的意思是,如果您单击第一个下拉列表中的某些内容,则会弹出第二个下拉列表。如果您在第二个选项中选择某些内容,则会弹出第三个选项...

下拉列表之间的唯一区别是只需要填写第一个。

我的下拉列表:

<select name="dropdown" style="font-size:18pt;height:40px;width:410px;" onclick="myFunction()" required>
<option value="">Choose something</option>
{{range .}} <option value='1'>{{.Name}}</option>
{{end}}
</select>

新的下拉列表:

<div id="myDIV" style="display:none">    
    <select name="dropdown" style="font-size:18pt;height:40px;width:410px;" onselect="myFunction()">
    <option value="">Choose something</option>
    {{range .}} <option value='1'>{{.Name}}</option>
    {{end}}
    </select>    
</div>

Java 脚本:

<script>
    function myFunction() {
    var x = document.getElementById("myDIV");
    if (x.style.display === "none") {
        x.style.display = "block";
    } else {
        x.style.display = "none";
    }
}
</script> 

我还搜索了除 onclick 之外的另一个函数,因为我认为这不适用于下拉列表,至少它有问题。我尝试了其他一些但它没有做任何事情

如何制作自动无限生成的下拉列表?

最佳答案

如果我理解正确,以下就是您想要做的事情。

var addDropDown = function (e) {
    e.currentTarget.removeEventListener(e.type, addDropDown);
    var clone = e.currentTarget.cloneNode(true);
    clone.setAttribute('id', "dropdown-" + document.getElementsByTagName("select").length)
    e.currentTarget.parentNode.insertBefore(clone, e.currentTarget.nextSibling);
    clone.addEventListener("change", addDropDown);
}

document.getElementById("dropdown-0").addEventListener("change", addDropDown);
<select id="dropdown-0" name="dropdown">
    <option value="">make a selection</option>
    <option value='1'>Option1</option>
</select>

关于javascript - 自动生成下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53100607/

相关文章:

javascript - Express - 错误处理中的函数原型(prototype) toString()?

javascript - 当元素相互包含时如何在元素上获取 jquery onClick 事件

javascript - 将 json 值打印到 html 中

javascript - 无法让 Google Analytics 自定义变量发挥作用

html - 居中两行图像

php - 如何从symfony3中的同一表单访问2个表?

javascript - 为什么 Internet Explorer 不能一致地触发提交事件?

html - 强制表行的高度与内容相同

javascript - 动态添加选项到select2

java - Selenium Webdriver - 如何从非典型下拉列表中选择选项