【发布时间】:2011-01-17 20:23:14
【问题描述】:
*故事:
我有一个带有 2 个搜索栏的网站,用户可以在其中搜索一所学校,然后通过 jQuery 自动完成搜索该学校内的一个班级。我所有的数据都在一个 LOCAL json 数组中,例如:
var school = [{"label": 波士顿大学, "value": 波士顿大学, "nickname": BU}]
*问题:
在搜索时,我想将用户的输入不仅匹配到“标签”,还匹配到“昵称”,以便“波士顿大学”和“BU”都可以搜索该学校。这是我现在的代码:
$(document).ready(function(){
$("#school").autocomplete({
appendTo: ".custom-autocomplete",
source: schools,
minLength: 0,
select: function( event, ui ) {
$("#class").autocomplete({
appendTo: ".custom-autocomplete",
source: courses,
minLength: 2,
select: function( event, ui ) {
$('#submit_header_form').attr('class','submit_header_form');
}
});
});
});
我知道我们可以在远程数据上使用 PHP 来实现这个结果,但是我需要使用本地数组来加快搜索速度,因为我在每个学校都有很多课程。
由于我是新手代码并且堆栈现在功能齐全,因此快速修复将是理想的。感谢大家的帮助!
【问题讨论】:
-
一种常见的解决方案是在结果名称中包含 nicname。这也是航空业的一个常见问题,例如,查看这个网站flightstats.com/go/Home/home.do,它有机场,如
(YYZ) Toronto International。作为评论发布,因为这不是技术答案。
标签: jquery autocomplete