Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Preciso do seguinte, tenho 15 grupos de input="radio", cada grupo com 5 opções e fiz um java bem simples onde quando selecionado aquele rádio daquele grupo, mostra um valor e esconde os outros valores do mesmo grupo.
O que eu fiz, eu tenho que fazer várias funções no mesmo input="radio", e gostaria de reduzir isso....
Olhem meu código original (são testes somente):
function Hide(id){
var Procura = document.getElementById(id);
Procura.style.display="none";
}
function Show(id){
var Procura = document.getElementById(id);
Procura.style.display="block";
}
<label><input type='radio' name='Opcao01' value='Opcao01_1' onFocus="Show('$Id01'); Hide('$Id02'); Hide('$Id03');"> $Nome01</label><br>
<label><input type='radio' name='Opcao01' value='Opcao01_2' onFocus="Show('$Id02'); Hide('$Id01'); Hide('$Id03');"> $Nome02</label><br>
<label><input type='radio' name='Opcao01' value='Opcao01_3' onFocus="Show('$Id03'); Hide('$Id01'); Hide('$Id02');"> $Nome03</label>
<br><BR><Br><Br>
<label><input type='radio' name='Opcao02' value='Opcao02_1' onFocus="Show('$Id04'); Hide('$Id05'); Hide('$Id06');"> $Nome04</label><br>
<label><input type='radio' name='Opcao02' value='Opcao02_2' onFocus="Show('$Id05'); Hide('$Id04'); Hide('$Id06');"> $Nome05</label><br>
<label><input type='radio' name='Opcao02' value='Opcao02_3' onFocus="Show('$Id06'); Hide('$Id04'); Hide('$Id05');"> $Nome06</label>
<Br><br><Br><Br>
<table id='COMPONENTES' width='320' border='0' cellspacing='0' cellpadding='0'>
<tr style='display:none' id='$Id01'><td>$Nome01 - $Preco01</td></tr>
<tr style='display:none' id='$Id02'><td>$Nome02 - $Preco02</td></tr>
<tr style='display:none' id='$Id03'><td>$Nome03 - $Preco03</td></tr>
<tr style='display:none' id='$Id04'><td>$Nome04 - $Preco04</td></tr>
<tr style='display:none' id='$Id05'><td>$Nome05 - $Preco05</td></tr>
<tr style='display:none' id='$Id06'><td>$Nome06 - $Preco06</td></tr>
</table>
Estão vendo, tenho que colocar vários SHOW() e HIDE() em cada 'RADIO', porém mais para frente isso vai me causar problemas, pois esses radio serão duplicados através de WHILE do PHP, então não terá como saber quantos HIDE() eu vou ter que colocar lá...
EU tenho um exemplo aqui de uma função que faz a função inversa...
function changeCell(id) {
var cell = document.getElementById(id);
cell.style.background="#ff0000";
cell.onmouseout=function() {
cell.style.background="#ffffff";
}
}
Bom, eu coloco um OnMouseOver="changecell('Id')" e lá mesmo quando eu tiro o mouso ele já faz uma outra ação...
Com isso não tenho a necessidade de fazer um OnMouseOver e um OnMouseOut.
COmo faria uma função igual esta ultima para grupos.
Grato desde já.
Carregando comentários...