2010-04-02 106 views
0

我正在使用以下代码在输入标记上创建自动完成功能。为动态添加的输入标记添加自动完成功能

$('.query').autocomplete({ 
    serviceUrl:'http://localhost/main/finder.php', 
    minChars:2, 
    delimiter: /(,|;)\s*/, // regex or character 
    maxHeight:400, 
    width:400, 
    zIndex: 9999, 
    deferRequestBy: 0, //miliseconds 
    onSelect: function(value, data){ 
    } 
    }); 

现在的问题是我输入元素被动态地添加所以第一输入标签的自动完成工作,但是当我增加一个输入标签那么它失败的第二个。

,所以我需要一些设施,生活()提供的jQuery ...

请不要发布解决方案

回答

1

您正在寻找的livequery plugin

$('.query').livequery(function() { 
    $(this).autocomplete({ 
     serviceUrl:'http://localhost/main/finder.php', 
     minChars:2, 
     delimiter: /(,|;)\s*/, // regex or character 
     maxHeight:400, 
     width:400, 
     zIndex: 9999, 
     deferRequestBy: 0, //miliseconds 
     onSelect: function(value, data){ 
     } 
    }); 
}); 

这将运行只要添加了匹配选择器的新元素,就可以使用该函数

+1

@hunt请注意,您应该确保您的动态页面更新正在经历的“标准”的jQuery的API。 – Pointy 2010-04-02 14:47:24

+0

以及我使用以下插件jquery http://www.devbridge.com/projects/autocomplete/jquery/ – hunt 2010-04-02 14:51:47

+0

你如何改变内容? – SLaks 2010-04-02 14:59:18

1
+0

嗯,当动态输入标签与类'查询'是添加以下行创建了 \t $(this).children('。query')。autocomplete({....}); 它工作正常,因为我看到上面的链接的方法,但这会增加开销? – hunt 2010-04-02 14:58:26

+0

以及上面的解决方案无法正常工作,因为它每次都添加自动完成对象 – hunt 2010-04-02 16:22:40