下拉框clone的问题

我有一个下拉选单,点击copy可以复制一份但option剔除前几份的已选项;点击add将整个表单复制一份提交到页面上保留所有内容,需要复制多份显示在页面上,复制的同时重置原始下拉框;我写的时候由于深度clone无法拷贝select中option的被选项,所以做了一个数组模拟下拉框的选项,copy的时候判断已选项剔除后再插入下拉框,但是提交后没办法重置数组,还有就是add的时候会出现提交的并不是我选择的内容而是默认顺序

<button class="addRow">addRow</button>
<button class="copySel">copy</button>
<select class="sel">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="3">4</option>
</select>
</body>
<script>
var ops=[
    "<option value=\"1\">1</option>",
    "<option value=\"2\">2</option>",
    "<option value=\"3\">3</option>",
    "<option value=\"4\">4</option>"
]
$(".addRow").click(function() {
    var chtml=$(".sel").clone(true);
    $(this).before(chtml);
    $("button .sel:gt(1)").remove()
});
$(".copySel").click(function() {
    var selNum=$('.sel').find('option:selected');
    for (var i = 0; i < ops.length; i++) {
        for (var j = 0; j < selNum.length; j++) {
            if (selNum[j].outerHTML==ops[i]) {
                ops.splice(i,1)
            }
        }
    }
    //停止添加
    if (ops.length<=0) {
        return false;
    };
    $(".sel").after("<select class=\"sel\">"+ops+"</select>");
});
</script>
阅读 2.3k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题