在工作中经常需要生成动态增加行的表格,此次需要对表格中的文本框绑定autocomplete功能
操作流程:
表格初始时只有一行,当页面加载时执行先执行一次增加行功能,将行增加到10行
在$(function(){});中对表格绑定autocomplete,此时一切正常,这10行都按照预期的正常表现
当单击表格元素时会动态检查空行是否有10行,如果不够,则将表格最后一行复制并插入到表格的最后,然后对新复制的行绑定autocomplete
结果发现新复制的行无论如果都不能绑定事件
各种折腾了半天,从种种迹象中发现事件其实有绑定,但都绑定在了一开始复制的那一行上面去了,再看看绑定后生成的源代码,其实JQuery生成的对像都有一个类似jQuery17206059004419403464="3"的属性;原来在复制行时把这个属性也复制了,导致后面的绑定错位;
解决办法:在复制时候去掉JQuery动态生成的属性,再绑定就可以了