繁体   English   中英

如何在JavaScript中动态创建下拉菜单列表?

[英]How can I dynamically create an dropdown menu list in JavaScript?

最初,我通过以下方式生成了一个dropdown menu

我添加了有关如何制作下拉菜单的更多详细信息。

        <div class="well sidebar-nav">
            <img src="building.gif" style="display: block;margin-left:auto; margin-right:auto;max-width:100%; max-height:100%;" />
            <div class="dropdown" style="padding-left: 20px; padding-top:5px;">
                <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" style="display: block;margin-left:auto; margin-right:auto;">
                    Select A Building
                    <span class=" caret">
                    </span>
                </button>

                <ul id="myul" class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu1"></ul>

            </div>
        </div>
    </div><!--/span2-->

现在,我编写了以下代码:

    var buildingList=[
          {
            "BuildingName": "Adler Journalism and Mass Communication Building",
            "BuildingNumber": "0456"
          },
          {
            "BuildingName": "Art Building",
            "BuildingNumber": "0021"
           } 
    ];

    <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" style="display: block;margin-left:auto; margin-right:auto;">
                        Select A Building
                        <span class=" caret">
                        </span>
                    </button>
    <ul id="myul" class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu1">
    </ul>

     <script type="text/javascript">
      var out = "";
      var ul = document.getElementById("myul");
      for (i = 0; i < buildingList.length; i++) {
                out = ' <li role="presentation"><a role="menuitem" tabindex="-1" href=" ' + buildingList[i].BuildingName + '  "> ' + buildingList[i].BuildingName + '   </a></li>';
                 var li = document.createElement("li");
                 var t = document.createTextNode(out);
                 li.appendChild(t);
                 ul.appendChild(li);
    }
    </script>

我想使用javascript基于buildingList数组动态生成一个dropdown列表,您能帮帮我吗?

提前致谢!

您可以尝试这样。

$.each(buildingList, function (index, value) {
    $(".dropdown-menu").append($("<li>").text(value.BuildingName));
})

我创建了一个小提琴,以便您可以看到。

https://jsfiddle.net/bcub7wsL/1/

我更改了小提琴,使其仅使用纯Javascript

http://jsfiddle.net/ha80r95b/

您可以拆分数组并将元素附加到下拉列表中。 我认为这会对您有所帮助。

https://css-tricks.com/dynamic-dropdowns/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM