0

このフォーラムのために簡略化したフォームがあります。

<form id="data0">
    <input id="name0" />
    <input id="address0" />
</form>

jQueryを使用して、これをclone()してから、複製されたフォームのIDをname1、address1などに変更する必要があります。

次のように個別に変更せずにこれを行う方法はありますか?

$('#data0').children('#name0').attr('id', 'name1');

すべての入力をループして「0」を「1」に変更するようなものです。ありがとう。

4

3 に答える 3

0

console.logこれは、 andを取り出すだけの解決策ですalert:

$(":input").each(function() { //get all inputs

newId = $(this).attr('id');

   $(this).attr('id', newId.replace('0', '1')); 
    console.log($(this).attr('id'));
    alert($(this).attr('id'));
});

http://jsfiddle.net/yKZPK/

于 2013-03-07T17:37:03.593 に答える
0

次の例のように使用します。

<form id="old">
    <textarea>Some Value</textarea>
    <input type="text" value="Some Value" />
    <input type="checkbox" value="bob" checked />
    <br />
</form>

<input type="button" value="Clone" id="clone" />

この jQuery は、テキストエリアを含めて機能します。

$( 'input#clone' ).click(
    function()
    {
      $( 'form#old textarea' ).text( $( 'form#old textarea' ).val() )
      $("form#old").clone().attr( 'id', 'new_form' ).appendTo("body")

    }

  );
于 2013-03-07T17:18:25.347 に答える