gpt4 book ai didi

javascript - 使用 Chosen.js 搜索国际字符

转载 作者:行者123 更新时间:2023-11-29 18:25:09 24 4
gpt4 key购买 nike

有没有人找到使用 chosen.js 搜索国际字符的修复程序?

例如,如果我有一个包含以下选项的多选字段:- 法国城堡- 英国城堡

然后我搜索“Cha”

只有英文会出现。

最佳答案

我不知道,如果现在回答还不算太晚,但它可能会对其他人有所帮助。

重点是在比较期间从输入的字符串和匹配的选项字符串中去除变音符号。我的修改是使用 1.1.0 版的 jquery Chosen 插件,从 github 下载.

首先你必须有一个去除变音符号的函数(我在 winnow_results() 之后添加了它)

// strip czech diacritics from string
AbstractChosen.prototype.strip_diacritics= function(string) {
var
translationTable= [
// input with diacritics - add your characters if necessary
"éěÉĚřŘťŤžŽúÚůŮüÜíÍóÓáÁšŠďĎýÝčČňŇäÄĺĹľĽŕŔöÖ",
// stripped output
"eeEErRtTzZuUuUuUiIoOaAsSdDyYcCnNaAlLlLrRoO",
],
output= '';

// scan through whole string
for (var i= 0; i < string.length; i++) {
var charPosition= translationTable[0].indexOf(string[i]);
output+= charPosition == -1 ? string[i] : translationTable[1][charPosition];
}

return output;
}

然后在 winnow_results() 函数中的适当位置使用它。引用 chosen.jquery.js 行:

第 315 行

searchText = this.get_search_text();
// replace with
searchText = this.strip_diacritics(this.get_search_text());

第 339 行

option.search_match = this.search_string_match(option.search_text, regex);
// replace with
option.search_match = this.search_string_match(this.strip_diacritics(option.search_text), regex);

最后是 #345 行

startpos = option.search_text.search(zregex);
// replace with
startpos = this.strip_diacritics(option.search_text).search(zregex);

大功告成:-).

(我想写一些“savegame byte replacement”指令来在旧的 DOS 游戏中增加额外的生命)

Whole modified file at pastebin .

2016年9月29日:Chosen 1.6.2修改,测试ok。

关于javascript - 使用 Chosen.js 搜索国际字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14263579/

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