JQuery自动填充 - 格式列表,只返回文本框的一部分

时间:2010-04-27 14:11:02

标签: jquery autocomplete

我正在使用JQuery Autocomplete,它的工作正常。 我正在使用它来允许某人通过搜索姓氏或身份证号码来搜索数据库中的用户。

现在,创建的下拉列表是SQL查询的结果,如下所示:

$row_rst['lName'] . ', ' . $row_rst['fName'] . " - " . $row_rst['user'] . "|" . $row_rst['id']

输出如下内容:

Jones, Henry - hjones
Gibbons, Peter - pgibbons

当我选择亨利时,文本框会获得琼斯,亨利 - 赫恩斯和隐藏的领域会得到他的身份。

如果可能的话,我想格式化列中的下拉列表,如果可能的话,只返回文本框中的Jones,Henry。

这些选项中的任何一个都可以吗?我认为它与formatItem(row)或formatResult(row)有关,但我不确定,我似乎无法找到如何解决这个问题。

1 个答案:

答案 0 :(得分:2)

Autocomplete也可以在最新版本的jQuery UI(1.8与jQuery 1.4+一起使用)中使用,我认为它比您链接的版本更新。

如果您在源头查看custom data example,可以看到它正在使用select事件。你可以做类似的事情,并修剪你不想要的东西。

例如这样的事情(您可能需要调试一下以找到您的值在ui对象中的位置):

 ....
 select: function(event, ui) {
            $('#textBoxIDInHere').val(ui.item.value.substring(0,ui.item.value.indexOf("-", 0)));
            return false;
         }
 ....

至于格式化,如果你在jQuery ui下载页面上选择一个主题,压缩包附带一个.css文件。您可以预览各种预设here,该自动填充页面底部有一个标题为主题的标签,显示哪些类是相关的。

虽然这与您链接的插件不完全相同,但希望它至少可以帮助您:)