Slik skjuler Valg i jQuery

Slik skjuler Valg i jQuery


jQuery er et Javascript-bibliotek som gir kraftige funksjoner for håndtering av leser stedene. Syntaksen er veldig konsis. Uttalelsen "$ ( 'div') skjule ();". skjuler alle div tag objekter, mens "$ ( 'div div') skjule ();". skjuler alle doble nestet div tallet. Hiding nestet opsjons koder i en dråpe liste kan være nyttig hvis man bare krever spesifikke alternativer for en bestemt situasjon. Syntaksen "$ ( 'velg alternativ') skjule ();". fungerer i nettleseren Firefox, men ikke i Internet Explorer. Følgende trinn gir en løsning ved å bygge på rullelisten dynamisk.

Bruksanvisning

1 Last ned jQuery biblioteket filen (jquery-1.5.1.min.js) fra jQuery (se Ressurser). Lagre denne filen på skrivebordet.

2 Åpne Notisblokk og kopier og lim inn følgende kode. Lagre dette som "hideopts.html" på skrivebordet.

<Html>

<Head>

<Script type = "text / javascript" src = "jQuery-1.5.1.min.js '> </ script>

</ Head>

3 Kopier og lim inn koden nedenfor på bunnen av hideopts.html. Den «var mat = {..};" uttalelsen skaper en nøkkelverdi par array. Tastene er "frukt", "nut" og "grønnsak". "JQuery.fn.buildSelect = function (hidetype)" er den funksjonen som bygger på rullelisten. De ytre foreach løkke gjentas gjennom hver rad i datalisten og tildeler strengen listen til variabelen "stringlist." Hvis verdien typen, "frukt", skjer ikke i "hidetype" eller "hidetype" likeverdige "showall" kontroll går inn i den indre foreach loop. Denne indre sløyfe gjentas gjennom hver streng i "stringlist" for å bygge rullelisten alternativet. Denne funksjonen kalles fra den aller siste linje i <script> .. </ script> omfang.

<Body>

<Velg id = 'Velg Valg'> </ select>

<Script>

Var mat = {

"Frukt": [ "eple", "banan", "drue"],

"Nøtt": [ "mandel", "pecan", "hasselnøtt"],

"Grønnsak": [ "tomat", "sopp", "ert"]

};

jQuery.fn.buildSelect = function (hidetype) {

$ ( "# Velger Valg") html ( ".");

$ .Hver (Mat, funksjon (type, stringlist) {

if ((hidetype.search (type) == - 1) || (hidetype == "showall")) {

$ .Hver (Stringlist, funksjon (antall, stringval) {

. $ ( "# Velger Valg") føyer ( "<option value = '» + stringval + "'>" + stringval + "</ option");

});

}

});

}

$ ( '# Velger Valg') buildSelect ( 'showall.');

</ Script>

</ Body>

</ Html>

4 Kopier og lim inn følgende linjer over <script> -taggen for å lage de to knappene som vil skjule frukt alternativer og vise alle alternativene i rullelisten.

<Input type = "knappen" class = "btn 'id =" frukt "value =" hide frukt "/>

<Input type = "knappen" class = "btn 'id =' showall 'value =" vis alle "/>

5 Kopier og lim inn følgende jQuery linje over </ script> end tag. Dette er en hendelse funksjon, kalt når et objekt av klassen "btn" klikkes. Den passerer inngangsknappen id attributt til buildSelect funksjon.

. $ ( '. BTN') klikk (function () {$ ( '#' + this.id) .buildSelect (this.id)});

6 Kopier og lim inn følgende linjer på slutten av "buildSelect" funksjon slik at alternativene er sortert, med det første alternativet er valgt som standard alternativ.

Var sortedOptions = $ .makeArray ($ ( 'velg alternativ')). sort (funksjon (a, b) {

tilbake a.text == b.text? 0: a.text <b.text? -1: 1;

});

$ ( "# Velger Valg") HTML (sortedOptions.);

$ ( "# Velger Valg") [0] .selectedIndex = 0;

7 Lagre hideopts.html. Test det ved å åpne den i en nettleser og klikke på "skjule frukt" og "Vis alle" knappene.

Hint

  • Hvis du vil skjule flere typer alternativer, for eksempel frukt og grønnsaker, kan du opprette en ny knapp ved å legge til følgende linje.
  • <Input type = "knappen" class = "btn 'id =' frukt grønnsak" value = "hide veg og frukt" />