Estava procurando como fazer um checkbox, quando selecionado ativar um input, e quando não selecionado, desativar, achei, porém, não funciona no meu website alguém pode me ajudar ?
script:
var cbs = document.getElementsByClassName('cb'); function cbClick() { var input = document.querySelector('input[data-id="' + this.getAttribute('data-id') + '"]:not([type="checkbox"])'); input.disabled = !this.checked; } for(var i in cbs) { cbs[i].onclick = cbClick; }
Parte do formulário em que uso ele:
<label> <!-- FICHA MÉDICA --> Ficha médica:<br> <input type="checkbox" name="fm_alerg" class="cb" data-id="alerg" value="alergia"> Alergias(Se sim, separar por vírgula):<br> <input type="text" class='cb' name="fm_alergt" data-id='alerg' value="Alergias" onfocus="if(this.value=='Alergias')this.value='';" onblur="if(this.value=='')this.value='Alergias';" size="100" disabled><br> <input type="checkbox" name="fm_med" class="cb" data-id='med' value='Medicamento'> Faz uso de medicamento? Qual?<br> <input type="text" name="fm_medt" data-id='med' value="Medicamentos" onfocus="if(this.value=='Medicamentos')this.value='';" onblur="if(this.value=='')this.value='Medicamentos';" size="100" disabled><br> </label>
onde importo o arquivo scripts.js:
<head> <title>Nome - bla bla bla </title> <meta charset='utf-8'> <link rel="stylesheet" href="css/style.css"> <script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript" src="js/cycle.js"></script> <script type="text/javascript" src="js/mask.js"></script> <script type="text/javascript" src="js/script.js"></script> </head>