Javascript 使用新表格行键入前置分隔符

Javascript 使用新表格行键入前置分隔符,javascript,jquery,forms,jquery-ui,Javascript,Jquery,Forms,Jquery Ui,我从jQueryUI获得了一个具有提前输入功能的表。当只有一个表行(初始视图)时,它正在处理我的表单。有一个按钮允许用户根据需要创建额外的表行,但是对于任何额外的表行,提前键入功能不再起作用 我已经设置了一个示例JSFIDLE: 如果您开始在第一个字段(活动类型)中输入,您应该开始获得一个匹配单词列表,您可以选择这些单词(风险选择菜单也会根据输入的活动自动输入)。“提前键入”列表和“自动选择”都适用于第一行,但当您单击“新行”按钮时,它们将停止适用于任何新创建的行 如果有人能指出问题所在以及如

我从jQueryUI获得了一个具有提前输入功能的表。当只有一个表行(初始视图)时,它正在处理我的表单。有一个按钮允许用户根据需要创建额外的表行,但是对于任何额外的表行,提前键入功能不再起作用

我已经设置了一个示例JSFIDLE:

如果您开始在第一个字段(活动类型)中输入,您应该开始获得一个匹配单词列表,您可以选择这些单词(风险选择菜单也会根据输入的活动自动输入)。“提前键入”列表和“自动选择”都适用于第一行,但当您单击“新行”按钮时,它们将停止适用于任何新创建的行

如果有人能指出问题所在以及如何解决,我将不胜感激。在这个阶段,我对Javascript是新手。

帮助您向前迈进。创建新行时,必须调用
autocomplete()
方法来初始化字段

以下是一些相关代码:

$( '#nextYear' ).on( 'click', '#button2', function () {
    var row = $( this ).closest( 'tr' );

    row = row.clone().insertAfter( row );

    row.find( 'input[name="activity"]' ).val( '' ).attr(

      'id', "nextYearSelect" + ( row.index() + 1 )

    ).autocomplete({
        source: availableTags
    });    

});

确保不同元素上没有重复的
id
属性值。

谢谢JMM-我正在先增加id号,这样就不会有重复的id,然后再看看如何使用您的建议。非常感谢,谢谢。不确定您是否注意到了,但我包含了一些递增代码(请参见
行.index()+1
部分)。如果您不特别关心数字是什么,并且不会删除行以及添加行,那么这可能就足够了。当然,你也可以用其他方法来解决这个问题,正如你在新发布的问题中所讨论的那样。