Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 动态输入文本框未绑定到自动完成_Javascript_Jquery_Jquery Ui_Autocomplete_Jquery Autocomplete - Fatal编程技术网

Javascript 动态输入文本框未绑定到自动完成

Javascript 动态输入文本框未绑定到自动完成,javascript,jquery,jquery-ui,autocomplete,jquery-autocomplete,Javascript,Jquery,Jquery Ui,Autocomplete,Jquery Autocomplete,我试图遵循这个解决方案,但没有得到任何运气。 然后当我的输入框生成时,我尝试 input = document.createElement("input"); input.disabled = true; input.className = this.FORM_INPUT_CLASS; $(input.id).autocomplete(autocomp_opt); table.rows[table.rows.length - 1].cells[1]

我试图遵循这个解决方案,但没有得到任何运气。

然后当我的输入框生成时,我尝试

    input = document.createElement("input");
    input.disabled = true;  
    input.className = this.FORM_INPUT_CLASS;

    $(input.id).autocomplete(autocomp_opt);
    table.rows[table.rows.length - 1].cells[1].appendChild(input);

没有错误,但似乎没有正确绑定…如果有人有任何想法,请发布。谢谢。

尝试更改此行:

$(input.id).autocomplete(autocomp_opt);
为此:

$('#' + input.id).autocomplete(autocomp_opt);
当我添加以下内容时,它会起作用:

    $('#fieldname").autocomplete(autocomp_opt);
在这条线之后

    table.rows[table.rows.length - 1].cells[1].appendChild(input);

我想只有当输入框附加到某个东西上时,它才能注册。还值得注意的是,在Focus、onselect上添加一些事件句柄,也可以使用。尽管我怀疑,这是因为此时输入框已完全呈现/添加。

检查浏览器的JavaScript控制台。很可能,您最终会发现没有定义
input.id
。为什么不使用append和live jquey函数呢?input.id在别处定义,并且显示正确。你能举一个自动完成的例子吗。我看到的示例与鼠标单击有关。但是did只是一个预定义的函数,所以我不确定。jquery语法快把我累死了,
input.id
的值是多少?对不起,我应该说得更清楚一些。它只是文本框的id=“myvalue”的名称,设置为类似于输入。id=“myvalue”看到这一点让我发笑,我经常犯这个错误。由于input.id没有散列符号,jQuery只返回任何元素,跳过绑定并正常地失败,没有错误,这仅仅是因为它找不到预期的目标。@jk这不起作用。当输入文本已经在页面上时,它会工作。但不是动态工作的。。。
    table.rows[table.rows.length - 1].cells[1].appendChild(input);