Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用来自api调用的javascript填充组合框选项_Javascript_Jquery_Html_Json_Combobox - Fatal编程技术网

使用来自api调用的javascript填充组合框选项

使用来自api调用的javascript填充组合框选项,javascript,jquery,html,json,combobox,Javascript,Jquery,Html,Json,Combobox,我希望通过使用此url的api调用来填充组合框的元素 https://api.mercadolibre.com/categories/MLA1744。 基本上,这个api返回一个品牌列表,这些品牌应该是我在组合框中的选项。 这是我的html <div class="dropdown"> <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMarca" data-toggle=

我希望通过使用此url的api调用来填充组合框的元素
https://api.mercadolibre.com/categories/MLA1744
。 基本上,这个api返回一个品牌列表,这些品牌应该是我在组合框中的选项。 这是我的html

<div class="dropdown">
    <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMarca" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
      Marca
      <span class="caret"></span>
    </button>
    <ul class="dropdown-menu" aria-labelledby="dropdownMarca"></ul>
</div>

马卡
    我的功能是

    <script src="js/bootstrap.min.js">    
      (function() {
        var dropdownMarca = document.getElementById("dropdownMarca");
        var option = document.createElement("option");
        var mlAPI = "https://api.mercadolibre.com/categories/MLA1744";
        $.getJSON(mlAPI)
          .done(function( data ) {
            $.each( data.items, function( i, item ) {
                option.text = item.value);
                dropdownMarca.add(option);
              };
            });
          });
      });
    </script>
    
    
    (功能(){
    var dropdownMarca=document.getElementById(“dropdownMarca”);
    var option=document.createElement(“选项”);
    var mlAPI=”https://api.mercadolibre.com/categories/MLA1744";
    $.getJSON(mlAPI)
    .完成(功能(数据){
    $.each(data.items,function(i,item){
    option.text=item.value);
    dropdownMarca.add(选项);
    };
    });
    });
    });
    
    我无法让它工作,正如你所看到的,我是一个相当的新手。
    提前谢谢

    您的代码中有几个问题

  • 您缺少引导js引用
  • 第二,您的ul上没有可用于添加选项的id。我添加了id属性
  • 您的回调函数未正确分析返回的数据
  • 您正在将
    选项
    元素附加到您的
    ul
    。您需要附加
    li
    而不是
    选项
  • 我已经对您的代码进行了必要的调整,现在下拉列表中正确地填充了数据

    var mlAPI=”https://api.mercadolibre.com/categories/MLA1744";
    $.getJSON(mlAPI)
    .完成(功能(数据){
    var dropdownMarca=$(“#dropdownMarca选项”);
    $.each(data.children_类别,函数(索引,项){dropdownMarca.append('
  • '+item.name+'
  • '); }); });
    
    马卡
    

      谢谢@Zeshan,但问题仍然存在:(这应该很简单,但我能找到错误IM使用bootstrap可能与此相关?我已经更新了我的答案,现在它工作正常。如果这解决了您的问题,请不要忘记将此标记为已接受的答案。