动态表上jQuery自动完成的困难

星期六

我对此感到很沮丧,并且尝试了尽可能多的不同迭代,可以在此问题上找到,希望能有所帮助。我有一个动态表,该表具有一个添加行的按钮,但是我无法使自动完成功能在第一行之后起作用。对我做错了什么建议吗?

这是我的代码:

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);


    }
}); 

感谢您的帮助。

H77

您要添加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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章