jQuery-自动完成表单行复制

jQuery-自动完成表单行复制,jquery,jquery-ui,Jquery,Jquery Ui,所以我在stack上找到了很多关于如何复制表单行的帖子。让它起作用了。我还在一个文本框中找到了许多关于自动完成的帖子 我需要两个人一起工作。基本上,我为团队成员提供了一个可重复的部分,需要能够填写他们的姓名。问题是它只对表的第一个原始行起作用 有人能给我介绍一篇讨论如何做到这一点的文章吗?我不知道有哪篇文章,但只要你在新的文本输入上调用jQueryUI的autocomplete(),它就可以正常工作。复制行时,是否再次调用autocomplete()?使用行/字段上的.delegate进行自动完

所以我在stack上找到了很多关于如何复制表单行的帖子。让它起作用了。我还在一个文本框中找到了许多关于自动完成的帖子

我需要两个人一起工作。基本上,我为团队成员提供了一个可重复的部分,需要能够填写他们的姓名。问题是它只对表的第一个原始行起作用


有人能给我介绍一篇讨论如何做到这一点的文章吗?

我不知道有哪篇文章,但只要你在新的文本输入上调用jQueryUI的
autocomplete()
,它就可以正常工作。复制行时,是否再次调用
autocomplete()

使用行/字段上的.delegate进行自动完成。 如果您没有容器ID或“主体”,请使用容器ID或“主体”进行锚定

注意:这是用于UI自动完成的,而不是插件。 我使用委托,这样就可以一次性指定它-无需将其添加到新行(例如从.clone()创建的新行),这样它就可以定位到容器的唯一ID,第三种方式是,如果需要,可以使用链接(这一点.live不太支持)。我使用链功能自定义渲染格式

示例代码:

$('#idOfRowsContainer).delegate('.classOfField', 'focusin', function() {
    $(this).autocomplete({
    delay: 1000,
// rest of my autocomplete
    })
});
带有自定义渲染链接示例代码的额外示例:

$('#idOfRowsContainer).delegate('.classOfField', 'focusin', function() {
    $(this).autocomplete({
            delay: 1000,
        // rest of my autocomplete
    }).data("autocomplete")._renderItem = function(ul, item) {
                return $("<li></li>")
            .data("item.autocomplete", item)
            .append("<a>" + item.Id + " <span class='autoCompCat'>" + item.Category + "</span> <span class='autoCompDesc'>" + item.Description + "</span></a>")
            .appendTo(ul);
    };
});
$('#idOfRowsContainer).delegate('.classofield',focusin',function(){
$(此)。自动完成({
延误:1000,
//我的剩余部分将自动完成
}).数据(“自动完成”)。\u renderItem=功能(ul,项目){
返回$(“
  • ”) .data(“item.autocomplete”,item) .append(“+item.Id+”“+item.Category+”“+item.Description+”) .附录(ul); }; });
    Dave:我想我很困惑,当我复制字段ID时,它的名称是相同的。调用autocomplete的唯一方法是引用字段ID:
    $(“#tm”).autocomplete({source:tms})然后给它一个新ID,或者使用一个类,或者引用新行中的文本输入,或者。。。但是必须使用相同ID的DOM元素(从技术上讲)是无效的。您不能给元素一个类名,然后使用$(“.class”).autocomplete({source:tms})?另外,我认为.live()函数可能有助于看到:是的——尽管这将调用该类的所有内容,包括现有的内容。那可能很好;不知道
    autocomplete()
    是否识别现有的并跳过它们,或者什么,。