Type Ahead Breaks with new Table Rows

时间:2012-08-15 02:15:03

标签: javascript jquery forms jquery-ui

我从jQuery UI获得了一个带有提前类型功能的表。当只有一个表行(初始视图)时,它正在使用我的表单。有一个按钮允许用户根据需要创建其他表行,但对于任何其他表行,类型提前功能不再有效。

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

http://jsfiddle.net/fmdataweb/9REgZ/1/

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

欣赏是否有人可以指出什么是破坏以及如何解决它 - 我现在是Javascript的新手。

1 个答案:

答案 0 :(得分:1)

Here's something帮助您前进。创建新行时,必须调用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属性值。