gpt4 book ai didi

javascript - Jquery UI 自动完成选择最接近的匹配

转载 作者:行者123 更新时间:2023-11-28 19:49:12 26 4
gpt4 key购买 nike

我有一个与 Jquery ui 自动完成连接的输入字段。该字段用于用户输入设备的目录号。他可以通过两种方式做到这一点:

  • 首先。通过手写并从自动完成列表中选择一个
  • 或使用条形码扫描仪输入目录号

不幸的是,条形码并不总是给出与设备上打印的相同的答案。有打印:

  • 100-ENT/A 但条形码返回 100-ENT/OA

  • 打印的 156-CNR/B 和条形码返回 156-CNR B

所以我想从自动完成中选择最接近的匹配。

我知道我可以使用这个插件来选择第一个:CLICK但如何让它选择最接近的匹配呢?

此刻,我陷入了用于加载自动完成的干净代码:

function GetNames() {
var availableTags;
var jsonData
$.ajax({
url: "/DeviceInstance/GetDeviceNames",
type: "GET",
dataType: "json",
error: function (data) {
alert("wystąpił nieokreślony błąd " + data);
},
success: function (data) {
availableTags = data;
$(".deviceCatalog").autocomplete({
source: availableTags,
change: function (event, ui)
{
viewModel.DeviceTemp(ui.item.id);
}
});
}
})

};

最佳答案

您需要考虑用于纠正拼写错误的算法。例如,这些将 Yuor 更正为 Your。一些算法(例如字符串编辑距离)会告诉您两个字符串中哪一个更接近第三个,例如:

Yuor 和 Your 之间的编辑距离为 2,因为您需要将两个字母 u 改为 o,o 改为 u。Yuor和York之间的编辑距离为2,因为需要删除o,然后添加k(但您可以考虑添加或删除成本更高,因此将删除o算作2点)。

这意味着Your 比York 更接近Yuor。因此,您的算法会选择 Your 而不是 York 作为对 Yuor 的修正。

我认为这就是您需要深入研究的内容:http://en.wikipedia.org/wiki/Edit_distance

还有一些著名的动态编程算法可以解决这个问题,但不是很复杂(它们不是真正的“软件编程”)。请参阅http://en.wikipedia.org/wiki/Levenshtein_distance

关于javascript - Jquery UI 自动完成选择最接近的匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23784301/

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