jQuery -自动完成+追加功能
jQuery - autocomplete + append functions
我有一个页面,我想动态添加更多的文本字段,为此目的,我使用jQuery .append函数。但是,我还希望通过使用另一个jQuery函数来自动完成这些文本字段。这是我的JavaScript:
<script>
$( document ).ready(function() {
$("#addInputs").click(function() {
$("#inputList").append("<input type='text' id='autocomplete' size='35' name='sales[]' /><br />");
});
});
</script>
<script>
$(function ac() {
var availableTags = [
"ActionScript",
"AppleScript",
"Scheme"
];
$( "#autocomplete" ).autocomplete({
source: availableTags
});
});
</script>
我有以下HTML:
<div id='inputList'>
<input type='text' id='autocomplete' size='35' name='sales[]' /><br />
</div>
<a id='addInputs' />Add Inputs</a>";
一旦页面加载,我已经在屏幕上显示的文本字段的自动完成工作。"添加输入"也可以工作,并正确地在屏幕上添加更多字段。
问题是这些新添加的字段不会触发自动完成功能。有什么想法可以实现这一点吗?
谢谢!
问题是代码对每个附加的元素使用相同的id。id必须唯一。重构代码,以便在附加到DOM的元素上设置一个类属性。然后在调用autocomplete
函数时使用该类作为选择器。
<script>
var availableTags = [
"ActionScript",
"AppleScript",
"Scheme"
];
$( document ).ready(function() {
$("#addInputs").click(function() {
//Adding the class
$("#inputList").append("<input type='text' class='autocomplete' size='35' name='sales[]' /><br />");
//Selector using the class
$( ".autocomplete" ).autocomplete({
source: availableTags
});
});
});
</script>
try this:
$(document).on("focus", "#autocomplete", function(e) {
if ( !$(this).data("autocomplete") ) {
$(this).autocomplete({
source: availableTags
});
}
});
在我的网站上工作。div;)
一旦添加了新的输入元素,就需要初始化它们上面的小部件。
$(function () {
function autocomplete(el){
$( el ).autocomplete({
source: availableTags
});
}
var availableTags = [
"ActionScript",
"AppleScript",
"Scheme"
];
autocomplete($("#autocomplete"))
$("#addInputs").click(function() {
var el = $("<input type='text' size='35' name='sales[]' /><br />").appendTo("#inputList");
autocomplete(el)
});
});
在HTML中ID属性应该包含唯一值,但不是class属性,所以使用class (class =" autocomplete")代替ID
我认为问题发生是因为.autocomplete
函数仅为DOM中已经存在的元素绑定一次,我的建议是使用.live
或.on
绑定,以便稍后的元素可以绑定到:
$('#autocomplete').on("focus", function(e) {
if ( !$(this).data("autocomplete") ) {
$(this).autocomplete({
source: availableTags
});
}
});
相关文章:
- 表追加而不附加最后一个元素
- 添加文字和评论功能更新Div
- JavaScript打印功能使日历停止工作
- 每当您在选择器内移动鼠标时,悬停功能就会重复
- 如何防止网页加载后自动启动功能
- 除修剪外的其他功能
- 悬停功能触发器
- 使用angularjs向浏览器发送servlet响应(下载功能)
- 删除CKEditor工具栏按钮,但不删除功能
- 异步facebook功能
- 如何将chrome扩展功能移植到移动设备(特别是jquery和trello)
- jQuery滚动功能只工作一次
- Graphiti中是否有任何工具提示功能
- React redux初始化功能,无论状态变化如何
- JS追加后无法使用点击功能
- 额外追加后点击功能不起作用
- 如何限制调用 js 追加功能两次
- 我可以同时在 Jquery 中使用追加和加载功能吗?
- jQuery -自动完成+追加功能
- Ajax评论教程?Ajax功能工作,但追加4次.为什么