我想将输入字段的值添加到属性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/
我有什么想法可以解决这个问题吗?
答案 0 :(得分:3)
import 'bootstrap/dist/css/bootstrap.css';
只会检测页面加载时的输入。克隆人不会听取密钥事件。
而不是
$('input')
使用
$('input').keyup(function() {
$(this).attr('data-value', $(this).val());
});
答案 1 :(得分:3)
使用clone(true)
:
$('.cpt_name:first').clone(true)
withDataAndEvents
设置为true
,则不会克隆事件处理程序,请参阅此处的文档:https://api.jquery.com/clone/