【发布时间】:2012-04-01 08:22:27
【问题描述】:
我正在使用jQuery UI Autocomplete。我在三个不同的输入上使用它。所以我有:
输入 ID 1
使用 xml 数据自动完成 1输入 id 2
使用 xml 数据自动完成 2输入 ID 3
使用 xml 数据自动完成 3
我也有这样的活动:
$(".ui-autocomplete li a").live("click",function(){
doSearch($(this).text());
});
问题是这个事件发生在所有三个自动完成上。
我必须在事件代码或其他地方进行哪些更改才能将事件绑定到特定的输入/自动完成。所以我想让事件 1、2、3 对应于不同的输入/自动完成集。
【问题讨论】:
-
您的意思是在函数
doSearch()中,您想知道根据触发事件的自动完成功能使用哪个数据集? -
@Didier Ghys 据我所知,自动完成不会触发点击事件,我不确定“触发事件的自动完成”是什么意思。它的点击:)但我认为你正在从另一个角度看待问题,这很好,无论完成工作;所以点击li 1会做doSearch 1。你会说只是改变doSearch的名字,但我试过了,它不起作用。
-
我的意思是你绑定在锚点上的事件(不是真正由自动完成触发 - 抱歉让你感到困惑)。不过我觉得不用自己绑定事件,使用内置的select事件。
-
@Didier Ghys 我已经取出了点击事件并使用“选择”选项进行了尝试 我尝试了一个自动完成功能,我还将功能更改为 doSearch1,2 和 3。所以第二个第三个自动。没有任何事件(单击或选择) 奇怪的是,当“选择:doSearch1(this(text))”时,它仍然使用 doSearch 2 和 3 执行搜索。(这根本不合逻辑)
标签: jquery-ui autocomplete jquery