gpt4 book ai didi

javascript - jQuery、JavaScript 自动完成概念,但不是

转载 作者:行者123 更新时间:2023-11-30 18:32:38 25 4
gpt4 key购买 nike

好的,这是一个多部分的概念。不过,我敢肯定,如果我能解决这个问题,剩下的就会接踵而至。

我拥有的是一系列单词和短语。我有一个 TextArea,人们可以在其中输入内容。我想要做的是能够在数组中搜索用户输入内容的匹配项或相似项。我能想到的最接近的是自动完成功能。但这并不完全是我想要的,是的,我想要的部分是自动完成功能,但最终运行的功能要多得多,现有的自动完成功能对我的需求来说有点笨重。

我的目标是,在用户点击空格键后,在他们键入时触发搜索。到目前为止,我很好。我的问题是我的逻辑从这里开始就有缺陷。我希望能够将整个文本男孩带到击中空格键的位置,并根据我的单词和短语数组进行检查。但我不确定如何。目前我在 textarea 本身上使用 split(),其中空格是我的 split() 分隔符,但我现在意识到那是不对的。我最初的想法是拆分它,将它与另一个数组进行比较,如果匹配的话那将是一个快乐的一天,然后我意识到我有短语,如果我试图检查一个短语是否匹配,那么我不会匹配一个。

希望这是有道理的。我需要在这上面遍历逻辑,目前确实没有代码,因为我没有调试,我试图找出一个逻辑来处理它。所以我可以前进。

最佳答案

更新:

检查这个 fiddle :http://jsfiddle.net/VwNHN/

您需要根据您的要求对其进行调整,但它可以让您清楚地了解如何实现以下逻辑。


好吧,按键(可能是任何键而不仅仅是空格键)的逻辑可能是这样的:

1) 获取您当前的光标位置 - 例如 X引用示例:http://demo.vishalon.net/getset.htm

2) 获取 X 左边的 N 个字符。即,从索引 X-NX 的整个文本的子字符串 - 将其存储在 Y 中。您需要确定 N 的值(例如:100)。 N 是您要匹配的最长单词/短语。

例如:如果全文是"hello world i am a sentence",光标在最后,N10 , Y 将是 "a sentence"

3) 按空格字符拆分 Y 并将每个拆分递增地存储在数组中,然后将其反转 - 让我们调用数组 PHRASES

例如:如果 Y"this is a sentence" - 那么 PHRASES 就是

[ "this is a sentence", "this is a", "this is", "this" ]

4) 检查你的单词/短语数组与 PHRASES 中的每一项 - 最长的匹配部分将排在第一位,最短的匹配部分将排在最后 - 这组匹配项是你的自动-完整列表。

关于javascript - jQuery、JavaScript 自动完成概念,但不是,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9164599/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com