javascript 本地聯(lián)行號查詢 fuse.js 應用

QkVEfvCtdIL82Q9.jpg

HTML 部分代碼

<select id="select">
    <option value="none">?? ... 銀行</option>
    <option value="zgyh">中國銀行</option>
    <option value="jsyh">建設銀行</option>
    <option value="gsyh">工商銀行</option>
    //...
</select>
<input id="search-query" name="q" type="text" placeholder="??? 查詢...">
<figcaption id="search-infos"></figcaption>
<div id="search-results">中國現(xiàn)代化支付 (CNAPS CODE) <strong>聯(lián)行號查詢</strong></div>
<script src="https://cdn.jsdelivr.net/npm/fuse.js/dist/fuse.js"></script>
<script src="https://cdn.jsdelivr.net/npm/mark.js/dist/mark.min.js"></script>

JS 部分代碼

var docinfo = document.getElementById("search-infos");
var docresult = document.getElementById("search-results");
var inputBox = document.getElementById("search-query");
document.getElementById("select").addEventListener("change", function(e) {
    if (e.target.tagName == "SELECT") {
        console.log("radiovalue", e.target.value)
        if (e.target.value == "none") {
            docinfo.innerHTML = "? 請先選擇銀行,再輸入關(guān)鍵字進行查詢!";
        } else {
            var urlData = e.target.value;
            async function getData(url = '') {
                const response = await fetch(url, { cache: "no-cache" });
                if (!response.ok) {
                    docinfo.innerHTML = "? 數(shù)據(jù)加載故障剿牺,請檢測網(wǎng)絡拓巧!" + response.status;
                } else {
                    return await response.json();
                }
            }
            // async function getData(url = '') {
            //     // Default options are marked with *
            //     const response = await fetch(url);
            //     return response.json(); // parses JSON response into native JavaScript objects
            // }
            // JSON data parsed by `data.json()` call
            getData(urlData + '.json')
                .then(data => {
                    // console.log(data); 
                    const list = data;
                    console.log(list);
                    const options = {
                        isCaseSensitive: false,
                        includeScore: true,
                        shouldSort: true,
                        includeMatches: false,
                        findAllMatches: false,
                        minMatchCharLength: 2,
                        location: 0,
                        threshold: 0.1, //適用于中文的模糊搜索設置
                        distance: 10000,
                        useExtendedSearch: false,
                        ignoreLocation: false,
                        ignoreFieldNorm: true,
                        // keys: [
                        //     "title",
                        //     "author.firstName"
                        // ]
                    }

                    const fuse = new Fuse(list, options);
                    docinfo.innerHTML = "? 數(shù)據(jù)加載完成!";
                    // 監(jiān)聽鍵盤回車鍵觸發(fā)搜索事件
                    document.onkeydown = function(event) {
                        e = event ? event : (window.event ? window.event : null);
                        if (e.keyCode == 13) {
                            setTimeout(searchq, 1000); //開啟異步子線程
                            docinfo.innerHTML = "? 努力查詢中思币,精彩即將呈現(xiàn)鹿响!";
                        }
                    }

                    function searchq() {
                        if (inputBox.value !== null) {
                            var result = fuse.search(inputBox.value);
                            if (result.length == 0) {
                                docinfo.innerHTML = '<div>' + "? 查詢結(jié)果為空,請檢測關(guān)鍵字是否正確谷饿!" + '</div>';
                            } else {
                                var resultStr = "";
                                // (let i = 0; i < result.length; i++)
                                for (let i in result) {
                                    resultStr += '<div>? ' + result[i].item + '</div>';
                                    console.log(result[i].item);
                                }
                                docresult.innerHTML = resultStr;
                                var instance = new Mark(document.getElementById("search-results"));
                                // 高亮顯示搜索結(jié)果內(nèi)關(guān)鍵字
                                instance.mark(inputBox.value, {
                                    // "element": "span",
                                    // "className": "highlight"
                                });
                            }
                        }
                    }
                });
        }
    }
});
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
禁止轉(zhuǎn)載惶我,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者。
  • 序言:七十年代末博投,一起剝皮案震驚了整個濱河市绸贡,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌贬堵,老刑警劉巖恃轩,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異黎做,居然都是意外死亡叉跛,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門蒸殿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來筷厘,“玉大人鸣峭,你說我怎么就攤上這事∷盅蓿” “怎么了摊溶?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長充石。 經(jīng)常有香客問我莫换,道長,這世上最難降的妖魔是什么骤铃? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任拉岁,我火速辦了婚禮,結(jié)果婚禮上惰爬,老公的妹妹穿的比我還像新娘喊暖。我一直安慰自己,他們只是感情好撕瞧,可當我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布陵叽。 她就那樣靜靜地躺著,像睡著了一般丛版。 火紅的嫁衣襯著肌膚如雪巩掺。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天硼婿,我揣著相機與錄音锌半,去河邊找鬼。 笑死寇漫,一個胖子當著我的面吹牛刊殉,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播州胳,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼记焊,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了栓撞?” 一聲冷哼從身側(cè)響起遍膜,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎瓤湘,沒想到半個月后瓢颅,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡弛说,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年挽懦,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片木人。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡信柿,死狀恐怖冀偶,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情渔嚷,我是刑警寧澤进鸠,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站形病,受9級特大地震影響客年,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜窒朋,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一搀罢、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧侥猩,春花似錦、人聲如沸抵赢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽铅鲤。三九已至划提,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間邢享,已是汗流浹背鹏往。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留骇塘,地道東北人伊履。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像款违,于是被迫代替她去往敵國和親唐瀑。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,916評論 2 344

推薦閱讀更多精彩內(nèi)容