使用JQuery的clone()进行文本框的问题

时间:2011-01-30 04:33:20

标签: jquery clone

这就是我需要克隆的东西:

<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标签并将其中的textbox值设置为“”。有人可以解释一下该怎么办?另外,我需要将克隆元素内的文本框的id设置为与原始文件不同。请帮忙。感谢

2 个答案:

答案 0 :(得分: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/

答案 1 :(得分:0)

你去......

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

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

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

我放置代码来更改其id属性,因为id每页必须是唯一的。

如果您打算以理智的方式阅读此数据,您还需要更改name属性(即不同输入的不同名称)。