2015-11-02 79 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

    相關問題