首先让我说我正在使用JQuery 1.3.2版。此时升级不是一种选择。
在发生页面加载后,我有一个由模板系统添加的表单。我对JQuery很新,但我的理解是live
允许我访问它。
自动完成功能已经为用户搜索服务并且效果很好。我想为网站的管理员部分共享此功能,以及查询几乎完全相同。
clientName
元素来自动态添加的表单。如果我使用下面的代码,没有任何反应;没有数据被检索。
$('#clientName')
.site_clientAutocomplete(
'admin',
function( $event, $result, $data )
{
$('#clientName').val($data.ClientName);
}
);
如果我将它包装在以下代码中,它将起作用。在我从数据库中取回任何内容之前,我必须多次在输入框内单击。
$("#clientName").live('keydown', function(){
});
有人可以告诉我如何让这个自动完成功能正常运行吗?
答案 0 :(得分:1)
live
仅用于处理现在或将来与选择器匹配的元素上发生的事件。如果您需要更健壮地检测与您的选择器匹配的元素,您可以在添加内容时应用窗口小部件,也可以使用livequery plugin
通过livequery,你可以"听"对于与您的选择器匹配的新元素,并在该事件发生时运行函数。在你的情况下,这将是这样的:
$('clientName').livequery(function () {
$('#clientName').site_clientAutocomplete(
'admin',
function( $event, $result, $data )
{
$('#clientName').val($data.ClientName);
}
);
});