javascript
  • jquery
  • clone
  • 2017-06-07 51 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。

    相关问题