【问题标题】:Append divs changing his content dynamic追加 div 改变他的内容动态
【发布时间】:2013-06-14 22:57:56
【问题描述】:

我有一个名为 cdefualt 的 dif,其中有一些来自表单的输入,我想做这样的事情来克隆它并更改输入名称:

var i = 2;
function add() {
    var item = $('#cdefault').clone();
    item.attr({'style': ''});
    $xpto = 'gtitle'+i;
    $xpto2 = 'gmessage'+i;
    item.id = $xpto;
    $('#'+$xpto+' input[id="gtitle1"]').attr('name', $xpto);
    $('#'+$xpto+' textarea[id="gmessage1"]').attr('name',$xpto2);
    $(item).appendTo('#ccontainer');
    i++;
}

但这不起作用。我也已经尝试过了,但它只能工作两次(对于原始克隆和第一个克隆):

var i = 2;
function add() {
    var item = $('#cdefault').clone();
    item.attr({'style': ''});
    $xpto = 'gtitle'+i;
    $xpto2 = 'gmessage'+i;
    $('#cdefault input[id="gtitle1"]').attr('id', $xpto);
    $('#cdefault textarea[id="gmessage1"]').attr('id',$xpto2);
    $('#cdefault input[name="gtitle1"]').attr('name', $xpto);
       $('#cdefault textarea[name="gmessage1"]').attr('name', $xpto2);
    $(item).appendTo('#ccontainer');
    i++;
}

甚至尝试过这种方式:

function add() {
    $xpto = 'gtitle'+i;
$xpto2 = 'gmessage'+i;
    var div = document.getElementById('cdefault');
    clone = div.cloneNode(true); // true means clone all childNodes and all event handlers
    clone.id = $xpto;
    clone.style.display = '';
    $("#"+$xpto+" input[id='gtitle1']").attr('name', $xpto);
    $("#"+$xpto+" textarea[id='gmessage1']").attr('name',$xpto2);
    document.getElementById('ccontainer').appendChild(clone);

    i++;
}

http://jsfiddle.net/Theopt/xNfSd/

【问题讨论】:

  • 小提琴有助于理解这一点。
  • 完成了,但是代码太多了,我试图在那里粘贴一些东西,所以大家明白了。我有一个隐藏的 div,我想克隆它,但要以某种方式更改表单名称。

标签: forms html dynamic input append


【解决方案1】:

已修复。将 cdefault id 更改为 id0 和这个 java 脚本:

var i = 2;
var c = 0;
function add() {
    $xpto = 'gtitle'+i;
    $xpto2 = 'gmessage'+i;
    var klon = $( '#id'+ c );
    klon.clone().attr('id', 'id'+(++c) ).insertAfter( '#inserthere' );
    document.getElementById('id'+(c)).style.display = '' ;
    $("#id"+(c)+" input[id='gtitle1']").attr('name', $xpto);
    $("#id"+(c)+" textarea[id='gmessage1']").attr('name',$xpto2);
    i++;
}

【讨论】:

    猜你喜欢
    • 2021-08-26
    • 1970-01-01
    • 2014-02-23
    • 1970-01-01
    • 1970-01-01
    • 2014-08-20
    • 1970-01-01
    • 1970-01-01
    • 2014-03-04
    相关资源
    最近更新 更多