Javascript 克隆的自动完成输入不工作
我对jQuery函数Javascript 克隆的自动完成输入不工作,javascript,jquery,jquery-autocomplete,jquery-ui-autocomplete,jquery-clone,Javascript,Jquery,Jquery Autocomplete,Jquery Ui Autocomplete,Jquery Clone,我对jQuery函数clone()有问题。我认为问题在于此方法的with data and events输入参数 最初,我正在编写一个具有动态行的表。我在单击仅放在第一行的按钮时动态添加行。第一行最初包含许多输入字段和组合框。每个字段都由一个ajax调用初始化。字段上的每个操作都会导致一行中整个字段的刷新(过滤)。我还在输入字段上使用自动完成 第一排非常好用。但是,克隆标记时: 如果我没有在第一行中输入值,克隆的和第一行可以正常工作 如果在第一行字段中输入一个或多个值,并且在克隆后,只有第一行字
clone()
有问题。我认为问题在于此方法的with data and events
输入参数
最初,我正在编写一个具有动态行的表。我在单击仅放在第一行的按钮时动态添加行。第一行最初包含许多输入字段和组合框。每个字段都由一个ajax调用初始化。字段上的每个操作都会导致一行中整个字段的刷新(过滤)。我还在输入字段上使用自动完成
第一排非常好用。但是,克隆标记时:
数据。('autocomplete',null)
,自动完成(“销毁”)
…)
你对这个问题有什么想法吗
提前感谢除了测试中的输入错误(您是按类而不是按id选择新元素),基本问题是在将其添加到DOM之前应用autocomplete JSFiddle: 我只是颠倒了这两行的顺序:
$('.body').append(clone);
applyAutoComplete2('#myinput' + inc);
原因是…一些插件使用与DOM元素相关联的存储数据,或者将事件附加到祖先等。这些都不可能发生在断开连接的DOM元素上,所以只需先将其附加到DOM。我想你会问这个问题
签入此链接
applyAutoComplete1(“#myinput1”)
注意:您的测试示例应该有
applyAutoComplete2(“#myinput2”);
(您将按类进行选择)。您需要解释更改修复问题的原因(即问题是什么)。谢谢你的提示。你的解释帮助我找到了问题的解决方案。你的建议就是我发布的案例的解决方案。但是,在实际案例中,我在克隆之前在元素上添加了。自动完成(“销毁”)。我在克隆前分离了第一行上的所有事件,现在所有行都工作正常……再次感谢
$("button").click(function() {
inc = inc+1;
$('#myinput1').clone().attr('id','myinput'+inc).appendTo('.add-this');
$('#myinput'+inc).val('');
applyAutoComplete2('#myinput'+inc);
});