搜索字段以外的值字段

时间:2012-07-24 14:47:32

标签: jquery autocomplete

我有一个jquery自动完成小部件,它显示带有自定义数据的项目。

他们都有valuedescription 目前,当点击某个项目并且项目的value是搜索内容时,value会插入到文本框中

我想要做的是在过滤要显示的项目时,过滤器同时使用valuedescription,但只保留插入的value

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:1)

如果您为自动填充程序提供了一个包含valuelabel(而不是description)属性的对象数组,它将为您执行过滤,但仅限于{{1 (不是label)。

如果您为source option指定了一项功能,则您需要自行进行过滤。您会收到value参数(具有request属性的对象)和term参数(用于回调结果的函数)。然后,您可以使用自己喜欢的任何搜索方式自行返回相关结果(例如,您可以在代码中同时搜索responsevalue)。

,例如,松散地:

description

您返回的数组可以只是字符串,也可以是具有$("some selector").autocomplete({ // ...other options... source: function(request, response) { var matches = []; /* ...search for matches in your data using `request.term`, add them to `matches`... */ response(matches); } }); value属性的对象。系统会显示label,选中时会使用label

例如,这里是一个使用(短)机场列表的机场,当您键入它时,它会同时检查value(机场代码)和value(机场名称):{ {3}} | Live copy

description

因此输入“或”或“chic”会显示“ORD - Chicago O'Hare”,选择它会将“ORD”放入该字段中。输入“san”或“sfo”将显示“SFO - 旧金山国际”并选择它将把“SFO”放在现场。