Javascript 创建自动完成功能,而不是显示每个单词
我正在尝试创建一个模拟的自动完成,因为jQuery提供的一个是重载的,我不想太多地使用它Javascript 创建自动完成功能,而不是显示每个单词,javascript,object,for-loop,while-loop,do-loops,Javascript,Object,For Loop,While Loop,Do Loops,我正在尝试创建一个模拟的自动完成,因为jQuery提供的一个是重载的,我不想太多地使用它 var easyBB = { spellCheck: function(boolean,options) { if(boolean === true){ $('textarea').on('keyup',function() { var wordTyped = $(this).val(); for(var word in options.words){ var i=0;
var easyBB = {
spellCheck: function(boolean,options) {
if(boolean === true){
$('textarea').on('keyup',function() {
var wordTyped = $(this).val();
for(var word in options.words){
var i=0;
while(wordTyped.indexOf(options.words[word])) {
$('#responsiveWords').html(options.words[word]);
i++;
}
}
});
}
}
};
easyBB.spellCheck(true,{
words:[
"ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C",
"C++",
"Clojure",
"COBOL",
"ColdFusion",
"Erlang",
"Fortran",
"Groovy",
"Haskell",
"Java",
"JavaScript",
"Lisp",
"Perl",
"PHP",
"Python",
"Ruby",
"Scala",
"Scheme"
]
});
基本上,这将是一个文本区域,第一个问题是如何让他们当前键入的单词用于此
下一个问题是它只显示单词数组中的第一个单词。甚至与它在字符方面最接近的单词都不相似。另外,它将只显示一个单词,我希望它显示任何单词的索引值
有人能帮我解释一下我在这里做什么吗。我是一个自学成才的人,所以学习意味着实际应用到代码中,这就是我编写while循环的原因。刚刚学到。今天打电话:)对不起,不相关,不管怎样,我在这里做错了什么,有什么建议吗
试试这个
var easyBB = {
spellCheck: function(b,xxx) {
$('textarea').on('keyup',function() {
var list = xxx.words;
var wordTyped = $(this).val();
$('#responsiveWords').html(""); // reset the list
if(wordTyped === "") return; // check we have something otherwise you get all results here.
for (var i = 0; i < list.length; i++) {
if(list[i].indexOf(wordTyped) === 0){
$('#responsiveWords').append($("<li>"+list[i]+"</li>")); // create and append items
}
}
});
}
};
easyBB.spellCheck(true,
{ words:[
"ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C",
"C++",
"Clojure",
"COBOL",
"ColdFusion",
"Erlang",
"Fortran",
"Groovy",
"Haskell",
"Java",
"JavaScript",
"Lisp",
"Perl",
"PHP",
"Python",
"Ruby",
"Scala",
"Scheme"
]});
var easyBB={
拼写检查:功能(b,xxx){
$('textarea')。在('keyup',function()上{
var list=xxx.words;
var wordTyped=$(this.val();
$('#responsiveWords').html(“”;//重置列表
如果(wordTyped==“”)return;//请检查我们有什么,否则您将在此处获得所有结果。
对于(变量i=0;i”+list[i]+“”);//创建和追加项
}
}
});
}
};
容易拼写检查(正确,
{文字:[
“动作脚本”,
“AppleScript”,
“Asp”,
“基本”,
“C”,
“C++”,
“Clojure”,
“COBOL”,
“ColdFusion”,
“二郎”,
“Fortran”,
“好极了”,
“哈斯克尔”,
“爪哇”,
“JavaScript”,
“口齿不清”,
“Perl”,
“PHP”,
“Python”,
“红宝石”,
“斯卡拉”,
“方案”
]});
试试效果更好的方法,有没有办法显示所有以字符开头的单词?我记得我在代码中写了一些错误,是.html()而不是.append(),所以我会检查它out@NigelThorne我很接近;)这是我的尝试,它在大部分情况下都有效,只是它一直在复制。非常感谢。