Javascript jquery自动完成功能不适用于新添加的表行-->;细胞
我正在试着使用?在HTML表格单元格中。我通过单击按钮动态添加新行。但autocomplete只对最初加载页面时创建的第一行起作用。没有为所有新添加的行调用jquery自动完成函数。如何做到这一点 带有自动完成脚本的HTML表格: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> <
<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
标记构建一个新的小部件。我在创建行之后添加了自动完成功能。现在它工作正常:)