2011-01-30 14 views
3

これは私がクローンを作成するために必要なものです:問題()テキストボックスの

<p id="ex"> 
<label for="c2">Enter your Choice</label> 
<br> 
<input type="text" name="c2_r" id="c2" value="" /> 
<br> 
</p> 

私はこの文で、それをクローン:私が見たよう

$("#def").append($("#ex").clone()); 

、それがクローニングされp要素。しかし、私は実際にpタグをクローンし、その中のテキストボックスの値を ""に設定したいと思っています。誰かが私に何をすべきか説明できますか?また、クローンされた要素内のテキストボックスのIDを元のものと異なるように設定する必要があります。助けてください。 idは、ページごとに一意である必要がありますので、おかげで

+1

い()appendTo( '#デフ')、 '$( '#のEX')クローン;'仕事? – mhitza

+0

はい、それは動作します... – CuriousCoder

答えて

1
// first we grab the clone. We also want to change the <p>'s id, as it's 
// not valid to have two elements within a page with the same ID. 
$('#ex').clone().attr({ 
    id: 'newpid' // paragraph's ID 
// next, we alter the input inside it (change ID, clear value). 
}).find('input').attr({ 
    value: '', 
    id: 'newid' // <input>'s ID 
// call end to stop the ".find", then add it to the #def element 
}).end().appendTo('#def'); 

実施例:。。http://www.jsfiddle.net/F4rRQ/1/

+0

それは私のために働くdoesnt。何が起こるかは、元のテキストボックスの値をクローンのテキストボックス値に設定します。それは変だね。私は両方のテキストボックスの値をphpファイルに送信し、それを印刷することでテストしました – CuriousCoder

+0

これは私が提供したjsFiddleリンクで起こっていますか?それは100%私のために、そしてそのフィドルページで働いています。あなたはもう少し説明することができますか私はそれを修正することができますか? (あなたが持っているものを自分のものにしてテストすることができますか?) –

+0

いいえ。私は実際にフォームに動的にテキストボックスを追加したり削除したりしています。ユーザーが追加ボタンをクリックすると、ラベルと共に新しいテキストボックスが追加されます。ユーザーが[削除]ボタンをクリックすると、最後に追加されたテキストボックスが削除されます。問題は、追加をクリックすると新しいテキストボックスが追加されますが、その値はPHPファイルで印刷するときです。また、削除をクリックすると、元のテキストボックスとクローンテキストボックスの両方が削除されます。クローンテキストボックスに表示されたid値を設定しますが、削除ボタンをクリックしてもテキストボックスは消えます – CuriousCoder

0

は、ここでは...

var clonedP = $('#ex').clone(); 

clonedP 
.attr({ id: 'new_id' }) 
.find('input') 
    .attr({id: 'new_input_id'}) 
    .val(''); 

$('#def').append(clonedP); 

を行く私は、彼らのid属性を変更する場所にコードを置きます。

このデータを正常に読み込もうとしている場合は、name属性(さまざまな入力の異なる名前)も変更する必要があります。

+0

こんにちは...これは、単純なテキストボックスで動作しますか?私は 'textarea'を 'text'と置き換えるだけでいいのですか? – CuriousCoder

+0

@hariうわー、あなたのタイトルは私を捨てました。私は改正するつもりです。 – alex

+0

こんにちは、それは仕事をしませんでした。どうしてか分かりません。コードはすべて正しいです。しかし、まだ両方のテキストボックスは同じ値を得る – CuriousCoder