javascript
  • jquery
  • clone
  • 2017-06-07 50 views 0 likes 
    0

    代碼,如下所示推克隆<option>成陣列

    var options = $("#select> option").clone(); 
    
    $('#btn').on('click',function(e){ 
    
         e.preventDefault(); 
         var copyEl = []; 
         copyEl.push("<select id='select"+i+"'class='select form-control'>"); 
         options.each(function(){ 
           console.log(this); 
           copyEl.push(this); 
          }); 
    
         copyEl.push("</select>"); 
    
         copyEl = $(copyEl.join('')); 
    
         $('#div').after(copyEl.clone()); 
    
    }); 
    

    這是我確實發現當檢查元件

    [對象HTMLOptionElement] [對象HTMLOptionElement] [對象HTMLOptionElement] [對象HTMLOptionElement ] [對象HTMLOptionElement] [對象HTMLOptionElement] [對象HTMLOptionElement] [對象HTMLOptionElement] [對象HTMLOptionElement] [對象HTMLOptionElement] [對象HTMLOptionElement] [對象HTMLOptionElement] [對象HTMLOptionElement] [對象HTMLOptionElement] [對象HTMLOptionElement] [objec噸HTMLOptionElement] [對象HTMLOptionElement] [對象HTMLOptionElement] [對象HTMLOptionElement] [對象HTMLOptionElement]

    控制檯打印

    <option id='1'>Toy</option> 
    <option id='2'>Story</option> 
    

    這是導致我確實需要在陣列中推,這個代碼是工作的罰款與<datalist>但未與<select>任何方式努力增加對 到數組?

    回答

    2

    我想你想創建動態選擇使用克隆選項。使用jQuery(html, attributes)創建選擇然後.append()克隆選項來選擇。

    $('#btn').on('click', function (e) { 
        e.preventDefault(); 
        var select = $("<select>", { id : 'select' + i, 
         'class': 'select form-control' 
        }); 
        select.append(options); 
        $('#div').after(select); 
    }); 
    

    按照註釋,使用outerHTML財產

    options.each(function(){ 
        copyEl.push(this.outerHTML); 
    }); 
    
    +0

    ,但我也多次提交到陣列選項,它是一個完整的形式在運行時複製的,我只是使代碼的樣本其過大,這是它唯一的問題 –

    +0

    @ user3191664,OK,那麼你應該學習使用jQuery創建HTML。然而,你嘗試'copyEl.push(this.outerHTML);'而不是'copyEl.push(this);' – Satpal

    +0

    它確實有效,但它會複製所有元素兩次? –

    1

    你可以嘗試

    options = document.getElementById("selectID").outerHTML; copyEL.push(options);

    這將包括爲select菜單中的HTML,所以你不」不需要追加。它還將包含選項和HTML。

    相關問題