Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.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/4/jquery-ui/2.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
如何将jquery ui自动完成添加到动态创建的元素中?_Jquery_Jquery Ui_Autocomplete_Jquery Ui Autocomplete - Fatal编程技术网

如何将jquery ui自动完成添加到动态创建的元素中?

如何将jquery ui自动完成添加到动态创建的元素中?,jquery,jquery-ui,autocomplete,jquery-ui-autocomplete,Jquery,Jquery Ui,Autocomplete,Jquery Ui Autocomplete,我试图让jQueryUI自动完成在动态创建的表单输入元素上触发,但它不起作用。我曾尝试在$.live()中使用keyup.autocomplete和keydown.autocomplete作为绑定事件,但它绑定到新元素-仅绑定到页面上已经存在的元素 尝试代码(尝试在第一个输入中键入“ava”,然后单击“添加输入”,并在新输入中键入相同的代码) JavaScript: $(function() { $("input#addButton").click(function() {

我试图让jQueryUI自动完成在动态创建的表单输入元素上触发,但它不起作用。我曾尝试在$.live()中使用keyup.autocomplete和keydown.autocomplete作为绑定事件,但它绑定到新元素-仅绑定到页面上已经存在的元素

尝试代码(尝试在第一个输入中键入“ava”,然后单击“添加输入”,并在新输入中键入相同的代码)

JavaScript:

$(function() {
    $("input#addButton").click(function() {
        $("input.searchInput:last").clone(true).appendTo($(this).closest("form"));
        $("input.searchInput:last").val("");

    })

    $("input.searchInput").live("keydown.autocomplete", function() {
        $(this).autocomplete({
            source: [
                "ActionScript",
                "AppleScript",
                "Asp",
                "BASIC",
                "C",
                "C++",
                "Clojure",
                "COBOL",
                "ColdFusion",
                "Erlang",
                "Fortran",
                "Groovy",
                "Haskell",
                "Java",
                "JavaScript",
                "Lisp",
                "Perl",
                "PHP",
                "Python",
                "Ruby",
                "Scala",
                "Scheme"
                ],

            minLength: 2
        });
    })
});
HTML:


这项工作:

var options = {
    source: ["ActionScript", "AppleScript"],
    minLength: 2
};
var selector = 'input.searchInput';
$(document).on('keydown.autocomplete', selector, function() {
    $(this).autocomplete(options);
});
$(函数(){
变量选项={
资料来源:[
“动作脚本”,
“AppleScript”,
“Asp”,
“基本”,
“C”,
“C++”,
“Clojure”,
“COBOL”,
“ColdFusion”,
“二郎”,
“Fortran”,
“好极了”,
“哈斯克尔”,
“爪哇”,
“JavaScript”,
“口齿不清”,
“Perl”,
“PHP”,
“Python”,
“红宝石”,
“斯卡拉”,
“方案”
],
最小长度:2
};
$(“input.searchInput”).live(“keydown.autocomplete”,function()){
$(此).autocomplete(选项);
});
var addInput=函数(){
var inputtml=“”;
$(inputtml).appendTo(“form#myForm”);
$(“input.searchInput:last”).focus();
};
if(!$(“form#myForm”).find(“input.searchInput”).length){
addInput();
}
$(“输入#添加按钮”)。单击(添加输入);
});

现在不推荐使用Function.live()

看起来代码如下所示:

var options = {
    source: ["ActionScript", "AppleScript"],
    minLength: 2
};
var selector = 'input.searchInput';
$(document).on('keydown.autocomplete', selector, function() {
    $(this).autocomplete(options);
});

出于好奇,您是否尝试过在每次为所创建的特定对象创建控件时执行绑定?很好的解决问题的起点…@Dutchie432:是的,我做了--同样的结果。@Eric:你的小提琴(jsfiddle.net/6t74T/1)在Chrome上对我很有用。我在添加的框上也会自动完成。@Chief:你说得对。。。它也适用于IE8。Hmmm必须是IE9的问题……只有在创建新输入后重置绑定时,这才在IE8中起作用-jsfiddle.net/6t74T/2。JSFIDLE可以工作,但不是我的实际代码…更改接受的答案,因为它与新版本兼容。谢谢!刚刚帮助我解决了Rails3.2中的一个嵌套表单字段问题,试图让autocomplete工作!你好@Andrei,你也能看一下吗。感谢大多数为我工作的人,我不得不更改
$(这个)
$(this.autocomplete({source:options})虽然。救命恩人!很有魅力。你好@Eric,你也能看看吗。谢谢你看看这些问题你有什么解决办法吗: