我无法修改jQuery UI自动完成(自定义数据和显示)。 首先,如何让源选项调用多个数组。其次,能够检测自动完成结果来自哪个数组,并在if语句中使用它。
我会尽量保持清晰,因为我是jQuery的新手......任何指导都会非常感激!
更完整的代码示例:http://codepen.io/seejaeger/pen/iqbke
概述:
每个数组项都有:value
,label
,desc
我特别关注desc
,因为它被用作不可搜索的数据,并且能够输出两种不同的格式化结果。见下文:
第一个数组
var funds = [
{
value: "fundtest",
label: "Fund Name Test", //searchable
desc: "(Ticker)", // non-searchable
},
{
value: "fundtest2",
label: "Fund Name Test 2", //searchable
desc: "(Ticker)", // non-searchable
}
];
第二个数组
var tickers = [
{
value: "tickertest",
label: "(Ticker Test)", //searchable
desc: "Fund Name", //non-searchable
},
{
value: "tickertest2",
label: "(Ticker Test)", //searchable
desc: "Fund Name", //non-searchable
}
];
输出
如果搜索建议来自funds
数组,则输出:
item.label + " " + item.desc
如果搜索建议来自tickers
数组,则输出:
item.desc + " " + item.label
注意他们是如何交换的?
不同的HTML输出结构将允许两个结果输出到屏幕:'基金名称(自动收报机)'
更新
第1部分&现在解决了2
第3部分仍有一些问题。
一旦我解决了它,最终会发布一个答案(除非有人神奇地说话)。
非常感谢TR的指导。
在此处查看此作品的最新版本:
http://codepen.io/seejaeger/pen/iqbke
答案 0 :(得分:1)
解决这个问题的关键因素是:
添加类似于origin
的密钥(如果使用循环来附加此密钥会更优雅,我可以在更新中添加它。)
将两个数组连接成一个,以便可以将其读作source
if-statement
函数中.data
除去了origin
自动填充数据的来源,并根据{{1}以特定方式输出结果}}
工作演示:http://codepen.io/seejaeger/pen/iqbke
-
origin