javascript - 添加属性不适用于克隆元素

标签 javascript jquery

我想将输入字段的值添加到属性 data-value 的值中。这实际上有效,但我有一个生成新字段的按钮。因此,该值可以添加到第一个输入字段,但不能添加到通过单击按钮生成的输入字段。

<button id="another_field">Add a new field</button>

<div class="cpt_area">
  <input placeholder="Type something here..." class="full_width cpt_name" type="text" name="cpt_name[]">
</div>
// This will copy an input field
$('#another_field').click(function() {
  $('.cpt_name:first').clone().prependTo(".cpt_area").val('');
});

// This will generate a data-value attribute
$('input').keyup(function() {
  $(this).attr('data-value', $(this).val());
});

您可以在这里尝试:https://jsfiddle.net/e6ybk2d3/

有什么想法可以解决这个问题吗?

最佳答案

使用克隆(true):

$('.cpt_name:first').clone(true)

如果您未将参数 withDataAndEvents 设置为 true,则不会克隆事件处理程序,请参阅此处的文档:https://api.jquery.com/clone/

关于javascript - 添加属性不适用于克隆元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41482416/

相关文章:

javascript - 如何使用 Mapbox 更改多个等值线图中的图例

javascript - 使用 JavaScript 显示错误

Jquery 鼠标悬停/移出 for 循环

jquery - Flot 饼图中左侧的偏移量不起作用

javascript - 使用 JQuery 访问/设置 dev express 下拉列表

javascript - 使图表可点击

javascript - 使用 Javascript 更改类的宽度并保存状态

javascript - 检查 2 个框之间的一系列复选框

javascript - 根据父 div 属性更改部分 href 值

javascript - 在 Angular 组件中放置 JavaScript 监听函数的最佳位置是什么?