Javascript jquery自动完成功能不适用于新添加的表行-->;细胞

Javascript jquery自动完成功能不适用于新添加的表行-->;细胞,javascript,jquery,html,jquery-ui,autocomplete,Javascript,Jquery,Html,Jquery Ui,Autocomplete,我正在试着使用?在HTML表格单元格中。我通过单击按钮动态添加新行。但autocomplete只对最初加载页面时创建的第一行起作用。没有为所有新添加的行调用jquery自动完成函数。如何做到这一点 带有自动完成脚本的HTML表格: <table id="dataTable" name="dataTable" border="1" WIDTH="50"> <col width="40"> <tr> <

我正在试着使用?在HTML表格单元格中。我通过单击按钮动态添加新行。但autocomplete只对最初加载页面时创建的第一行起作用。没有为所有新添加的行调用jquery自动完成函数。如何做到这一点

带有自动完成脚本的HTML表格:

    <table id="dataTable" name="dataTable" border="1" WIDTH="50">
    <col width="40">
        <tr>
            <th>Prog Filter</th>
        </tr>
        <tbody>
            <tr>
                <td WIDTH="40">
                    <input type="text" name="ProgFilter" id="ProgFilter" style="display:table-cell; width:40px" />
                </td>
        </tbody>
</table>
<script>
    $(function() {
        var availableTags = [
            "ActionScript",
            "AppleScript",
            "Asp",
            "BASIC", ];
        $("#ProgFilter").autocomplete({
            source: availableTags
        });
    });
</script>

程序滤波器
$(函数(){
var availableTags=[
“动作脚本”,
“AppleScript”,
“Asp”,
“基本”];
$(“#ProgFilter”).autocomplete({
资料来源:availableTags
});
});
正在添加行的Javascript:

     function addRow(tableID){
var table=document.getElementById(tableID);
var rowCount=table.rows.length;
var row=table.insertRow(rowCount);
var colCount=table.rows[1].cells.length;
for(var i=0;i<colCount;i++)
{
var newcell=row.insertCell(i);
newcell.innerHTML=table.rows[1].cells[i].innerHTML;
switch(newcell.childNodes[0].type)
    {
    case"text":newcell.childNodes[0].value="";break;
    }
}
}
函数addRow(tableID){
var table=document.getElementById(tableID);
var rowCount=table.rows.length;
var row=table.insertRow(rowCount);
var colCount=table.rows[1].cells.length;

对于(var i=0;i工作JS,它根据TD的类为每行调用自动完成函数:

    function addRow(tableID){
var table=document.getElementById(tableID);
var rowCount=table.rows.length;
var row=table.insertRow(rowCount);
var colCount=table.rows[1].cells.length;
for(var i=0;i<colCount;i++)
{
var newcell=row.insertCell(i);
newcell.innerHTML=table.rows[1].cells[i].innerHTML;
switch(newcell.childNodes[0].type)
    {
    case"text":newcell.childNodes[0].value="";break;
    case"checkbox":newcell.childNodes[0].checked=false;break;
    case"select-one":newcell.childNodes[0].selectedIndex=0;break;
    }
            $(function() {
        var availableTags = [
            "ActionScript",
            "AppleScript",
            "Asp",
            "BASIC",
            "C",
            "C++",
            "Clojure",
            "COBOL",
            "ColdFusion",
            "Erlang",
            "Fortran",
            "Groovy",
            "Haskell",
            "Java",
            "JavaScript",
            "Lisp",
            "Perl",
            "PHP",
            "Python",
            "Ruby",
            "Scala",
            "Scheme",
        ];
        $( ".FilerClass" ).autocomplete({
            source: availableTags
        });
    });
}

}
函数addRow(tableID){
var table=document.getElementById(tableID);
var rowCount=table.rows.length;
var row=table.insertRow(rowCount);
var colCount=table.rows[1].cells.length;

对于(var i=0;通常的方法是为您创建的每个新的
input
标记构建一个新的小部件。我在创建行之后添加了自动完成功能。现在它工作正常:)