使用jQuery自动完成功能动态添加行
Dynamically add rows with jQuery autocomplete
我有一个带有单行(文本字段)和添加行按钮的表,当用户单击添加行时,它会动态创建另一个包含文本字段的行。此外,我在该文本字段上应用了自动完成。现在,自动完成功能可以正确地处理第一行,但当我添加新行时,它就不起作用了。下面是我的代码,请告诉我哪里错了
添加行功能
function addRow(tableID) {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
var row = table.insertRow(rowCount);
var colCount = table.rows[0].cells.length;
for(var i=0; i<colCount; i++) {
var newcell = row.insertCell(i);
newcell.innerHTML = table.rows[0].cells[i].innerHTML;
//alert(newcell.childNodes);
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;
}
}
}
jQuery自动完成功能
$(function() {
var availableTags = [
"Apple",
"Dell",
"Microsoft",
"Sony",
];
$( "#product" ).autocomplete({
source: availableTags
});
});
添加带有文本字段的行按钮和表格
<input type="image" src="../images/add.png" onClick="addRow('dataTable')" />
<TABLE id="dataTable" width="350px" border="1">
<TR>
<TD> <INPUT type="text" name="product" id="product" /> </TD>
</TR>
</TABLE>
基本上,这里发生的事情是,您动态创建的新元素没有被jQuery自动完成函数拾取,因为它是在您调用该函数之后创建的。因此,每次添加行之后(在函数addRow()的末尾),您需要调用jQueryAuto-complete函数。
相关文章:
- 点击功能没有'ajax调用动态元素(Backbone)后无法工作
- express js中具有不同功能的动态路由
- 在动态功能中缓存ajax请求
- 具有实体化功能的动态菜单
- 为动态选择框选择更新功能
- 具有动态幻灯片创建功能的JavaScript滑块
- 单击时动态功能调用
- 创建动态数量的点击功能
- 向角度对象添加动态功能
- 是否有类似 .push 的功能可以动态地向对象添加值
- 动态点击,带参数的匿名功能
- 设置超时功能,具有钢琴应用程序的动态持续时间
- 使用带有动态文本框的 Google 地方信息自动完成功能
- 在使用 react 和 material-ui 动态创建菜单项时,为什么 onTouchStart 会自动执行功能
- 使用单选按钮OnClick和JavaScript功能动态填充数字字段
- 如何使滑动功能在表格行上动态工作
- 动态创建画布并添加鼠标按下功能
- 使用jQuery自动完成功能动态添加行
- 如何在Jquery中将字符串转换为可访问的属性以使功能动态
- 通过ajax breaks.on功能动态创建表