繁体   English   中英

克隆的自动完成输入不起作用

[英]Cloned autocomplete input not working

我对jQuery函数clone()有问题。 我认为问题出在此方法的withDataAndEvents输入参数中。

最初,我正在编码具有动态行的表。 单击仅放在第一行中的按钮时,我正在动态添加行。 第一行最初包含许多输入字段和组合框。 每个字段都由ajax调用初始化。 并且对字段的每个操作都会导致对一行的整个字段进行刷新(过滤)。 我也在输入字段上使用自动完成功能。

第一行工作完美。 但是,克隆标签时:

  1. 如果我没有在第一行中输入值,则克隆的第一行工作正常
  2. 如果我在第一行字段中输入一个或多个值,然后克隆,则只有第一行字段仍然有效。 在这种情况下,如果我尝试更改组合框的值(这会触发所有相关行字段的更改事件),则尽管在更改自动完成数据时使用了ID,但第一行的字段仍会受到影响。 单击按钮以克隆小部件时,将动态创建字段,组合框,表行的ID。

我编写的代码太长,因此我创建了一个小提琴并简化了这种情况,但仍然存在相同的问题。

我想,我已经找到像很多建议这个这一个这一个白白:-(( data.('autocomplete', null) autocomplete("destroy") ...)

您对这个问题有想法吗?

提前致谢

除了测试中的错字(您是按类而不是按id选择新元素)之外,基本问题是要在将自动完成功能添加到DOM之前应用自动完成功能。

JSFiddle: http : //jsfiddle.net/TrueBlueAussie/87jcw1y0/2/

我只是颠倒了这两行的顺序:

$('.body').append(clone);
applyAutoComplete2('#myinput' + inc);

原因...有些插件使用与DOM元素关联的存储数据,或将事件附加到祖先等。断开连接的DOM元素都不会发生这些事件,因此只需将其首先附加到DOM。

我认为您要询问此链接吗?http://jsfiddle.net/bsarunmca/87jcw1y0/3/

applyAutoComplete1( '#为myInput1');

$("button").click(function() {
    inc = inc+1;
    $('#myinput1').clone().attr('id','myinput'+inc).appendTo('.add-this');
    $('#myinput'+inc).val('');
    applyAutoComplete2('#myinput'+inc);

});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM