我对此感到很沮丧,并且尝试了尽可能多的不同迭代,可以在此问题上找到,希望能有所帮助。我有一个动态表,该表具有一个添加行的按钮,但是我无法使自动完成功能在第一行之后起作用。对我做错了什么建议吗?
这是我的代码:
var roomNames = [
"Balcony",
"Kitchen",
"Bedroom 1"
];
$( "#room-list" ).autocomplete({
source: roomNames
});
var Rcounter = 1;
$("#addrow").on("click", function () {
var rowCount = $('#myTable >tbody >tr').length;
if (rowCount < 24) {
var $newRow = $("<tr>");
var cols = "";
Rcounter++;
cols += '<td><input type="text" id="room-list" name="room' + Rcounter +'"></td>';
$newRow.append(cols);
$newRow.appendTo("table#myTable").autocomplete(roomNames);
}
});
感谢您的帮助。
您要添加autocomplete
到表格行。您需要将其添加到中input
。另外,您需要像设置一样source
为自动完成设置room-list
。现在,您只传递数组。
因此,这样的事情应该可以解决(您也可以单独创建input元素,而不是使用find
):
$newRow.find("input").autocomplete({ source: roomNames });
另一个解决方案是根据选择器将其设置为表,而不是将其设置为每个输入。(这将在click事件之外)
例如
$("#myTable").on('keydown.autocomplete', "input", function() {
$(this).autocomplete({
source: roomNames
});
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句