Výběrové políčko - INPUT type='RADIO'
Zpracování políčka radiobutton
S políčkem radiobutton je to oproti checkboxu
- podobné v tom, že mají stálou hodnotu bez ohledu na zaškrtnutí, a
-
složitější v tom, že "tvoří pojmenovanou (
name) skupinu" a pracuje se s celou skupinou.
Práce s radiobuttony v JS vyžaduje práci s polem a cyklem forEach.
Ukázali jsme si to na záveřečné stránce kapitoly Fotogalerie.
Můžeme si (stejně jako u checkboxu) pomoci speciální funkcí (které nemusíme nutně rozumět :)
Funkce bude vypadat takhle:
function hodnotaRadio(jmenoRadio) {
const policka = document.getElementsByName(jmenoRadio) ;
for (const policko of policka) {
if (policko.checked) {
return policko.value ;
}
}
return "" ;
}S touto funkcí budeme pracovat analogicky jako s funkcí pro checkbox:
Nakopírujeme ji do JS souboru a použijeme (např.) následujícím způsobem:
vysledek.innerHTML = hodnotaRadio("r") ;Konkrétně následující kód
- využívá naši funkci,
- sleduje změny jednotlivých voleb radiobuttonu se jménem
name="r"a - při změně zapíše hodnotu radiobuttonu do výstupního divu:
document.getElementsByName("r").forEach( function(element) {
element.addEventListener("change", function() {
vystup.innerHTML = hodnotaRadio("r") ;
});
});Zkuste si to i sami v replu.