jQuery - 具有自动完成的表单行复制

时间:2011-09-14 12:55:06

标签: jquery jquery-ui

所以我在堆栈上发现了很多关于如何复制表单行的帖子。有那个工作。我还在文本框中找到了很多关于自动完成的帖子。

我需要两个人一起工作。基本上我对团队成员有一个可重复的部分,需要能够完成他们的名字。问题是它只能在表的第一个原始行上运行。

有人可以引导我阅读一篇讨论如何实现这一目标的文章吗?

2 个答案:

答案 0 :(得分:1)

在行/字段上使用.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);
    };
});

答案 1 :(得分:0)

我不知道某篇文章,但只要你在新文本输入上调用jQueryUI&#39; autocomplete()它就可以了。复制行时,您是否再次调用autocomplete()