Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rafaelmota

Bloquear check com o combo

Recommended Posts

Galera, estou com o seguinte código que gera um combo box de 2 itens

e mais um check button.

O meu problema esta não consigo dizer para o cara se ele seleciona no combo0 5ª série por exemplo ele deveria bloquear o check rb para não poder ser selecionado, será que alguém consegue me dizer o que esta dando problema.

 

<script language="JavaScript">function habilita(){//Robótica Básicaif (document.gea.rb.checked == true){document.gea.rb1.disabled = false;document.gea.rb2.disabled = false;}else if (document.gea.rb.checked == false){document.gea.rb1.checked = false;document.gea.rb2.checked = false;document.gea.rb1.disabled = true;document.gea.rb2.disabled = true;}//Robótica Avançadaif (document.gea.ra.checked == true){document.gea.ra1.disabled = false;document.gea.ra2.disabled = false;}else if (document.gea.ra.checked == false){document.gea.ra1.checked = false;document.gea.ra2.checked = false;document.gea.ra1.disabled = true;document.gea.ra2.disabled = true;}//Dreamweaverif (document.gea.dw.checked == true){document.gea.dw1.disabled = false;document.gea.dw2.disabled = false;}else if (document.gea.dw.checked == false){document.gea.dw1.checked = false;document.gea.dw2.checked = false;document.gea.dw1.disabled = true;document.gea.dw2.disabled = true;}//Flashif (document.gea.fla.checked == true){document.gea.fla1.disabled = false;document.gea.fla2.disabled = false;}else if (document.gea.fla.checked == false){document.gea.fla1.checked = false;document.gea.fla2.checked = false;document.gea.fla1.disabled = true;document.gea.fla2.disabled = true;}function valida(){d=document.gea;if (d.nome.value ==""){alert ("Digite o nome!");d.nome.focus();return false;}if (d.email.value ==""){alert ("Digite o e-mail!");d.email.focus();return false;}if (d.email.value.indexOf ('@',0) == -1 || d.email.value.indexOf ('.',0) == -1){alert("Esse não é um e-mail válido!");return false; }/*marcado2 = -1for (i=0; i<d.turma.length; i++) {if (d.turma[i].checked) {marcado2 = i}}if (marcado2 == -1) {alert("Selecione uma turma!");d.turma[0].focus();return false;}*/if (d.fone.value==""){alert ("Digite o número do telefone residencial!");d.fone.focus();return false;}if (isNaN(d.fone.value)){alert ("O campo telefone residencial deve conter apenas números!");d.fone.focus();return false;}if (isNaN(d.cel.value)){alert ("O campo celular deve conter apenas números!");d.cel.focus();return false;}if ((d.rb.checked == false) && (d.ra.checked == false) && (d.dw.checked == false) && (d.fla.checked == false)){alert ("Selecione os curso!");d.rb.focus();return false;}if ((d.ra.checked == false) && (d.dw.checked == false) && (d.fla.checked == false)){alert ("Selecione algum curso!");d.ra.focus();return false;}//Robótica Básica Ativo, escolhe um itemif ((d.rb.checked == true) && (d.rb1.checked == false) && (d.rb2.checked == false)){alert("Selecione um dos horário(s) de Robótica Básica que deseja fazer!");d.rb1.focus();return false;}if((d.rb1.checked == true) && (d.rb2.checked == true)){alert("Selecione apenas um Horário para Robótica Básica");d.rb1.focus();return false;}//Robótica Avançada Ativo, escolhe um itemif ((d.ra.checked == true) && (d.ra1.checked == false) && (d.ra2.checked == false)){alert("Selecione um dos horário(s) de Robótica Avançada que deseja fazer!");d.ra2.focus();return false;}//Impede que o caboclo escolha mais de um horário igual.if((d.ra1.checked == true) && (d.ra2.checked == true)){alert("Selecione apenas um Horário para Robótica Avançada");d.ra1.focus();return false;}//Aqui o bicho pega, ele verifica se tem horários em conflitoif ((d.rb1.checked == true) && (d.ra1.checked == true)){alert("Você não pode selecionar duas matérias no mesmo horário");d.mat1.focus();return false;}}}<!--// first combo boxdata_1 = new Option("5ª série", "$");data_2 = new Option("6ª série", "$");data_3 = new Option("7ª série", "$$");data_4 = new Option("8ª série", "$$");data_5 = new Option("1º ano", "$$");data_6 = new Option("2º ano", "$$");data_7 = new Option("3º ano", "$$");// second combo boxdata_1_1 = new Option("A", "-");data_1_2 = new Option("B", "-");data_1_3 = new Option("E", "-");data_2_1 = new Option("A", "--");data_2_2 = new Option("B", "--");data_2_3 = new Option("E", "--");data_3_1 = new Option("A", "--");data_3_2 = new Option("B", "--");data_3_3 = new Option("E", "--");data_3_4 = new Option("F", "--");data_4_1 = new Option("A", "--");data_4_2 = new Option("B", "-");data_4_3 = new Option("C", "-");data_4_4 = new Option("D", "--");data_4_5 = new Option("E", "--");data_4_6 = new Option("F", "--");data_5_1 = new Option("1B01", "--");data_5_2 = new Option("1B02", "-");data_5_3 = new Option("1B03", "-");data_5_4 = new Option("1B04", "--");data_5_5 = new Option("1B05", "--");data_5_6 = new Option("1B06", "--");data_5_7 = new Option("1B07", "--");data_6_1 = new Option("2B01", "--");data_6_2 = new Option("2B02", "-");data_6_3 = new Option("2B03", "-");data_6_4 = new Option("2B04", "--");data_6_5 = new Option("2B05", "--");data_6_6 = new Option("2B06", "--");data_6_7 = new Option("2B07", "--");data_7_1 = new Option("3H01", "--");data_7_2 = new Option("3H02", "-");data_7_3 = new Option("3H03", "-");data_7_4 = new Option("3E01", "--");data_7_5 = new Option("3E02", "--");data_7_6 = new Option("3B01", "--");data_7_7 = new Option("3B02", "--");<!--// third combo box//data_1_1_1 = new Option("Robótica Básica", "*");//data_1_1_2 = new Option("Robótica Avançada", "*");//data_1_1_3 = new Option("Dreamweaver", "*");//data_1_1_4 = new Option("Flash", "*");//data_1_1_5 = new Option("Música", "*");//data_1_1_6 = new Option("Ativ. Esportivas", "*");//data_1_2_1 = new Option("Robótica Básica", "*");//data_1_2_2 = new Option("Robótica Avançada", "*");//data_1_2_3 = new Option("Dreamweaver", "*");//data_1_2_4 = new Option("Flash", "*");//data_1_2_5 = new Option("Música", "*");//data_1_2_6 = new Option("Ativ. Esportivas", "*");//data_1_3_1 = new Option("Robótica Básica", "*");//data_1_3_2 = new Option("Robótica Avançada", "*");//data_1_3_3 = new Option("Dreamweaver", "*");//data_1_3_4 = new Option("Flash", "*");//data_1_3_5 = new Option("Música", "*");//data_1_3_6 = new Option("Ativ. Esportivas", "*");// fourth combo box//data_2_2_1_1 = new Option("2211","%")//data_2_2_1_2 = new Option("2212","%%")-->// other parametersdisplaywhenempty=""valuewhenempty=-1displaywhennotempty="-selecione à série-"valuewhennotempty=0function change(currentbox) {numb = currentbox.id.split("_");currentbox = numb[1];i=parseInt(currentbox)+1// I empty all combo boxes following the current onewhile ((eval("typeof(document.getElementById(\"combo_"+i+"\"))!='undefined'")) &&(document.getElementById("combo_"+i)!=null)) {son = document.getElementById("combo_"+i);// I empty all options except the first one (it isn't allowed)for (m=son.options.length-1;m>0;m--) son.options[m]=null;// I reset the first optionson.options[0]=new Option(displaywhenempty,valuewhenempty)i=i+1}// now I create the string with the "base" name ("stringa"), ie. "data_1_0"// to which I'll add _0,_1,_2,_3 etc to obtain the name of the combo box to fillstringa='data'i=0while ((eval("typeof(document.getElementById(\"combo_"+i+"\"))!='undefined'")) &&(document.getElementById("combo_"+i)!=null)) {eval("stringa=stringa+'_'+document.getElementById(\"combo_"+i+"\").selectedIndex")if (i==currentbox) break;i=i+1}// filling the "son" combo (if exists)following=parseInt(currentbox)+1if ((eval("typeof(document.getElementById(\"combo_"+following+"\"))!='undefined'")) &&(document.getElementById("combo_"+following)!=null)) {son = document.getElementById("combo_"+following);stringa=stringa+"_"i=0while ((eval("typeof("+stringa+i+")!='undefined'")) || (i==0)) {// if there are no options, I empty the first option of the "son" combo// otherwise I put "-select-" in itif ((i==0) && eval("typeof("+stringa+"0)=='undefined'"))if (eval("typeof("+stringa+"1)=='undefined'"))eval("son.options[0]=new Option(displaywhenempty,valuewhenempty)")elseeval("son.options[0]=new Option(displaywhennotempty,valuewhennotempty)")elseeval("son.options["+i+"]=new Option("+stringa+i+".text,"+stringa+i+".value)")i=i+1}//son.focus()i=1combostatus=''cstatus=stringa.split("_")while (cstatus[i]!=null) {combostatus=combostatus+cstatus[i]i=i+1}return combostatus;}}function ver() {switch (son) {case 'valor1':d.rb.checked == false;document.gea.rb.checked == false;breakcase "valor2":ra.checked == false;document.gea.ra.checked == false;breakdefault:alert("Erro não")}}--></script><select name="combo0" id="combo_0" onChange="change(this);" style="width:200px;"><option value="value1">-Selecione a Turma-</option><option value="value2">5ª série</option><option value="value3">6ª série</option><option value="value4">7ª série</option><option value="value5">8ª série</option><option value="value6">1º ano</option><option value="value7">2º ano</option><option value="value8">3º ano</option></select></td></tr><tr><td width="117">Série:</td><td><select name="combo1" id="combo_1" onChange="change(this)" style="width:200px;"><option value="value1"> </option></select></td></tr></table><table width="600" border="0" cellspacing="0" cellpadding="5"><tr> <td width="117">Disciplinas:</td></tr><tr> <td rowspan="6"> </td><td width="463" colspan="4"> </td></tr><tr> <td colspan="4"> <input name="rb" type="checkbox" id="rb" value="Robótica Básica:" onClick="habilita()" onFocus="ver()"><strong>Robótica Básica</strong></td></tr><tr> <td colspan="4"><p>   <input name="rb1" type="checkbox" disabled id="rb1" value="2ª feira - 10h50min às 12h30min">2ª feira - 10h50min às 12h30min  <input name="rb2" type="checkbox" disabled id="por13" value="2ª feira - 13h às 14h40min ">2ª feira - 13h às 14h40min  </p><p> <input name="ra" type="checkbox" id="ra" value="Robótica Avançada:" onClick="habilita()" onChange="ver()"><strong>Robótica Avançada</strong></p></td>

Compartilhar este post


Link para o post
Compartilhar em outros sites

no onChange="change(this);" do seu select coloca:

onChange="change(this); disCk(this.value);"

 

 

no final do código:

<script>serieLimite = 8;  //Series menores que esta definida aqui, irão desativar os rbfunction disCk(valor) {  serie = parseInt(valor.substring(5,6))+4;  if (serie < serieLimite) {	document.gea.rb1.checked = false;	document.gea.rb2.checked = false;	document.gea.rb1.disabled = true;	document.gea.rb2.disabled = true;  } else {	document.gea.rb1.disabled = false;	document.gea.rb2.disabled = false;  }}

não teste.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fleury,Não entendi muito bem a sua idéia, o que eu quero é tipo se eu coloco alunos de 5ª série desativam os campos ra,dw, fla. Se eu colocar no combo 7ª série desativa rb, fla entendeu. O seu pelo que pude entender bloqueia determinado número de classes. Mesmo assim muito obrigado pela ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites
<script>function disCk(valor) {  serie = parseInt(valor.substring(5,6))+4;  document.gea.ra.disabled = false;  document.gea.rb.disabled = false;  document.gea.dw.disabled = false;  document.gea.fla.disabled = false;  if (serie == 5) {	document.gea.ra.disabled = true;	document.gea.dw.disabled = true;	document.gea.fla.disabled = true; }  if (serie == 7) {	document.gea.rb.disabled = true;	document.gea.fla.disabled = true; }}</script>
Faça a adaptacao

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fleury,Cara valeu pela ajuda, agora sim achei a referência, tava perdido no código anterior. Valeu vou testar e depois posto avisando se esta tudo certo.[]sAdriano,é que foi um evento que não postei do código, mas a idéia era acertar para qualquer check

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.