Scripts › Bekijken

Toevoegen | Categorie:


Javascript search

Hoi! Ik had net zin om een javascript search te maken, en nu hij werkt dacht ik van "laat ik het eens delen". Nou hier is het scriptje dan. Het is een erg simpel scriptje maar het werkt wel goed.
Veel plezier ermee.

Code tonen/verbergenCodeDeze code in een nieuw vensterDeze code in een tekstveldDeze code in een zip file downloaden
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
    <head>
        <title>Javascript Search</title>
        <style type="text/css" media="screen">
            * {
                margin: 0;
                padding: 0;
            }
            body {
                background-color: #E3E3E3;
            }
            #Holder {
                width: 600px;
                margin: 100px auto;
            }
            .header {
                background-color: #DEF1FF;
                padding: 25px;
            }
            #search {
                font-size: 16px;
                width: 548px;
            }
            .content {
                background-color: #fff;
                min-height: 300px;
                padding: 15px 25px;
            }
            .content ul {
                margin-left: 20px;
            }
        </style>
        <script type="text/javascript" charset="utf-8">
            //Deze functie weghalen als je prototype/jquery hebt
            function $(id) {
                return(document.getElementById(id));
            }
            var searchItems = "Aalbes, Aardbei, Aardbeiboom (Arbutus), Aardbeiguave, Abrikoos, Acerola, Afrikaanse baobab, Aki, Alibertia, Ambarella, Amerikaanse mammi-appel, Amerikaanse persimmon, Ananas, Appel, Appelbanaan, Aprium, Arazá, Atemoya, Avocado, Awarra, Azarole, Babaco (Chamburo), Banaan, Bauno (Binjai), Bergamot, Bergzuurzak, Bergpapaja, Blimbing, Biribá, Blauwe bes, Blauwe bosbes, Bloedsinaasappel, Bosbes, Braam, Broodvrucht, Cactusvijg (woestijnvijg), Cainito, Calamondin, Canistel, Carambola (Stervrucht), Cashew-appel, Cassabanana, Cherimoya, China-peer, Chinese kumquat, Citroen, Citrusvrucht, Clementine, Coronilla, Costa Rica-guave, Cranberry (grote veenbes), Curuba (bananenpassievrucht, tacso), Custardappel (Ossenhart), Dadel, Djamboe aer, Djamboe aer mawar, Djamboe bol, Djamboe semarang, Doerian, Druif, Euro-aziatische peer(Kruising van P. communis en P. pyrifolia), elderberry, Framboos, Feijoa, Gandaria, Gatenplantvrucht, Gele mombinpruim, Genipapo, Goudbes (ananaskers, Kaapse kruisbes), Granaatappel, Grapefruit, Grosella, Guave (djamboe kloetoek), Honingmeloen, Ikakopruim, Jaboticaba, Jackfruit (nangka), Jakhalsbes, Jambolan, Japanse wijnbes, Jujube, Kaki, Kapoelasan, Kei-appel, Kepel, Kers, Ketembilla, Kiwano, Kiwi, Knippa, Korlan, Kruisbes, Kumquat, Kweepeer, Kwini, Langsat, Lijsterbes, Limoen (Lime, Lemmetje), Longan, Loquat, Lotusvrucht, Lulo, Lychee (Litchi), Mabolo, Mamey sapota, Mandarijn, Mangistan, Mango, Marang, Meloen, Mexicaanse aardkers, Mini-kiwi, Mispel, Moendoe, Moerbei,Morel, Morichepalm, Nance, Nectarine, Nashi-peer, Natal-pruim, Noni, Olifantsappel, Orinoco-appel, Olijf, Papaja, Pawpaw, Papeda, Passievrucht (Maracuja, Granadilla), Peer, Pepino (Meloenpeer), Pereskie, Perzik, Perzikpalm, Pitaya, Pitomba I, Pitomba II, Plumcot, Pluot, Pomelo, Pompelmoes, Prachtframboos, Prachtige mango, Pruim, Pompoen, Ramboetan, Rijsbes, Rode bes, Rode bosbes, Rode moerbei, Rode mombinpruim, Rozenbottel, Rozijn, Salak, Santol, Sapodilla, Satsuma, Schroefpalm, Sharonfruit, Sinaasappel, Slijmappel, Soncoya, Stinkende mango, Stranddruif, Surinaamse kers, Sweetie, Tamarillo (boomtomaat), Tjampedak, Ugli, Vijg, Vlierbes, Wampi, Witte bes, Witte moerbei, Witte zapote, Watermeloen, ximenia americana, yanagi-ichigo, Zoete passievrucht, Zoetzak (Suikerappel), Zuurzak (Guanábana), Zwarte bes (Cassis), Zwarte moerbei, Zwarte zapote";

            // Je zou dit kunnen vervangen door bijvoorbeeld een JSON achtig iets wat je van de server krijgt.
            var searchItemsHash = searchItems.split(", ");

            window.onload = function() {
            var searchFunction = function() {
                searchText = $('search').value;
                result = '';
                for (var i=0; i < searchItemsHash.length; i++) {
                    if (searchText == '' || searchItemsHash[i].toLowerCase().replace(searchText.toLowerCase(), '') != searchItemsHash[i].toLowerCase()) {
                        result += '<li>'+searchItemsHash[i].replace(new RegExp(searchText.toLowerCase(), 'gi'), function(a) { return('<b>'+a+'</b>') })+'</li>';
                        // De code hieronder zou je kunnen gebruiken voor als je linkjes hebt.
                        //result += '<li><a href="/iets/'+searchItemsHash[i][1]+'">'+searchItemsHash[i][1].replace(new RegExp(searchText.toLowerCase(), 'gi'), function(a) { return('<b>'+a+'</b>') })+'</a></li>';
                    };
                };
                if (result == '') { result = '<li><strong>Niks gevonden!</strong></li>'; };
                    $('results').innerHTML = result;
                }
                $('search').onkeyup = searchFunction;
                searchFunction();
            }
        </script>
    </head>
    <body>
        <div id="Holder">
            <div class="header">
                <h1>Search</h1>
                <input type="text" name="search" value="" id="search" />
            </div>
            <div class="content">
                <ul id="results"></ul>
            </div>
        </div>
    </body>
</html>






Download (129)

2 reacties | reageren


Rating

Stemmen: 0Je moet ingelogd zijn om te stemmen!