2015-11-02 52 views
-1

我在下拉框中输入<li>数据。 “检查元素”选项显示文本存在,但不显示在下拉列表中。通过JavaScript选择菜单:在Mozilla中不工作(`undefined`),但在Chrome中工作

这是我的html和js代码。

HTML

<h1> 
       <ul class="lev1"> 
        <li> 
         menu-1 
        </li> 
        <li> 
         menu-2 
        </li> 
        <li> 
         menu-3 
        </li> 
        <li> 
         menu-4 
        </li> 
       </ul> 
    </h1> 

     <select id="select2-menu" name="term" class="search_product"> 
      <option> 
       All 
      </option> 
     </select> 

的JavaScript

<script> 
    var ul=document.getElementsByClassName('lev1'); 
     var li = ul[0].getElementsByTagName('li'); 
     var select = document.getElementById('select2-menu'); 

     for (var i = 0; i < li.length; i++) { 
      var option = document.createElement("option"); 
      option.value = li[i].innerText; 
      option.text = li[i].innerText; 
      select.add(option, null); 
      try { 
       select.add(option, null); //Standard 
      } catch (error) { 
       select.add(option); // IE only 
      } 
     } 
    </script> 
+0

其中LEV1类,我没有在你的代码 –

+0

在哪里看到列表与类“lev1”?你能提供一个JSFiddle吗?这个问题很难理解。 – leuquim

+0

  • 菜单-1
  • 菜单-2
  • 菜单-3
  • 菜单-4-
  • <选择id =“select2-menu”name =“term”class = “wd_search_product”>

    回答

    0

    试试这个

    <script> 
        var ul=document.getElementsByClassName('lev1'); 
          var li = ul[0].getElementsByTagName('li'); 
          var obj = document.getElementById('select2-menu'); 
    
          for (var i = 0; i < li.length; i++) { 
           var opt = document.createElement("option"); 
           opt.value = li[i].innerHTML; 
           opt.text = li[i].innerHTML; 
           //select.add(option, null); 
           obj.appendChild(opt); 
          } 
    </script> 
    
    +0

    它的工作,谢谢 –

    +0

    但白色空间的一个问题是价值。 <选择ID = “SELECT2菜单” 名称= “术语” 类= “wd_search_product”> <选项值=” 菜单-1 “> 菜单-1 <选项值=” 菜单-2 “> 菜单-2 <选项值=” 菜单-3 “> 菜单-3- <选项值=” 菜单-4 “> 菜单-4- –

    +0

    如果解决了您的问题,请将此接受为您的答案 – ManiMuthuPandi

    相关问题