我试图让jQueryUI AutoComplete触发动态创建的表单输入元素,但它不起作用.我已尝试将keyup.autocomplete和keydown.autocomplete用作$ .live()中的绑定事件,但它绑定到新元素 - 仅限于页面上已有的元素.
在这里尝试代码(尝试在第一个输入中键入"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
});
})
});
Run Code Online (Sandbox Code Playgroud)
HTML:
<form name="myForm" method="post">
<input id="addButton" name="addButton" type="button" value="Add an input" />
<input name="search" value="" class="searchInput" maxlength="20" />
</form>
Run Code Online (Sandbox Code Playgroud)