Sådan afkrydses og fjernes et afkrydsningsfelt med

det er en Javascript-ramme, der kan forenkle kodning af Javascript til en hjemmeside og fjerner en masse problemer med kompatibilitet på tværs af bro.ser. I går kiggede jeg på, hvordan man får og indstiller formelementværdier med jforespørgsel, men behandlede ikke afkrydsningsfelter. Dagens indlæg ser på, hvordan man fortæller, om et HTML-formularfelt er markeret eller ikke markeret med jforespørgsel, og derefter hvordan man ændrer det for at være un/markeret.

Eksempelformular

vores eksempelformular ser sådan ud:

<input type="checkbox" name="foo" value="bar" /><input type="button" onclick="show_checked()" value="Show" /><input type="button" onclick="set_checked(true)" value="On" /><input type="button" onclick="set_checked(false)" value="Off" />

der er afkrydsningsfelt med navnet ” foo ” og derefter tre knapper. Den første kalder en funktionfor at vise os, om afkrydsningsfeltet er markeret eller ej, og de to andre ændrer det fra at blive markeret til ikke at blive markeret.

Kontroller, om afkrydsningsfeltet er markeret

der er flere måder at komme i gang med, hvis et afkrydsningsfelt er markeret eller ej med jforespørgsel, og her et par alternativer. Hver vil returnere sand, hvis det er markeret eller falsk, hvis det ikke er.

$('input').is(':checked')$('input').attr('checked')

Indstil afkrydsningsfeltet til markeret eller ikke markeret

status for afkrydsningsfeltet kan ændres ved hjælp af attr () – funktionen som sådan for at markere afkrydsningsfeltet:

$('input').attr('checked', true);

og ligesom så at fjerne markeringen i feltet:

$('input').attr('checked', false);

arbejdseksempel

og endelig er her eksempelformularen i aktion:

en note om boolske værdier

der er en diskussion i kommentarerne nedenfor om problemer, der findes med Chromium, som kan være relateret til strengværdier af sand og falsk, der overføres, mens det skal være strengt en boolsk sand eller falsk, ellers kan uventede konsekvenser ske.

det er blevet foreslået at bruge .removeAttr () i stedet, men dette kan have andre konsekvenser fra min læsning af kommentarerne på siden med dokumentation for funktionen. Jeg vil følge op på dette indlæg på et senere tidspunkt og gøre mere test for at bekræfte med sikkerhed

skifte et afkrydsningsfelt, når du klikker på en etiket

Bemærk, at Javascript ikke er påkrævet for at skifte et afkrydsningsfelt, når du klikker på noget tekst; det er hvad HTML <label>s er til. Læs mit opfølgende indlæg ved hjælp af HTML <label > for at skifte og vælge felter for mere information.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.