对于不超过千种可用选项的字段,下拉列表似乎可以完成工作。但是,我有两个数组成千上万的数组,所以将它们放在一个组合框中将成为浏览器的杀手。我的猜测是,最好的是简单的文本输入,但具有自动完成功能。首先从jQueryUI
开始自动完成,但我发现它与2d数组不兼容,如:
var fkOptionList = [[1, 'Orange'],[2, 'Banana'],[3, 'Coconut']]
由于我以这种方式编写了数组,所以我不想重写它们。也许您知道这方面的解决方法,或者更好的方法来处理如此大量的选项?
答案 0 :(得分:1)
假设你的意思是:
var fkOptionList = [[1,'Orange'],[2,'Banana'],[3,'Coconut']];
您可以使用map函数(例如_.map
routine in underscore.js)将2d数组重写为必需的1d数组。对于加载ajax的自动填充功能也付出了很多努力,所以如果在服务器端更容易处理成1d数组,这可能是一个不错的选择。
答案 1 :(得分:1)
不要害怕通过map
或循环来运行它来展平它。
myNewArray = [[1, 'Orange'],[2, 'Banana'],[3, 'Coconut']].map(function(el) {
return el[1];
});
这是一个可以忽略不计的性能影响,特别是如果你使用lodash等功能库;