Ir para conteúdo

POWERED BY:

Arquivado

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

rtava

[Resolvido] CheckListBox e FireFox

Recommended Posts

Pessoal,

Criei apenas para teste, um CheckListBox conforme o código mostrado abaixo. A idéia é que, se o usuário pressionar o item "TODOS", apenas ele fique marcado e os demais sejam desmarcados. Se o usuário clicar em qualquer outro item que não seja o item "Todos", então o item "Todos" será desmarcado (caso esteja) e ficará marcado aquele item que o usuário optou (seja um ou mais itens). Até aqui tudo beleza quanto ao funcionamento no Internet Explorer. Porém quando carrego este exemplo no FireFox, não funciona nada.

Alguém pode dr uma ajuda?

 

OBS. Não está desabilitado o Javascript no meu FieFox.

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

   <style type="text/css">
	<!--	
		.checklist {background-color:#FFFFFF;border: 1px solid #ccc;list-style: none;height: 120px;overflow: auto;width: 300px;}		
		.checklist, .checklist li { margin: 0; padding: 0; }		
		.checklist label {display: block;padding-left: 25px;text-indent: -25px;font-family: Arial, Helvetica, sans-serif;font-size: 11px;}		
		.checklist label:hover { background: #777; color: #fff; }		
		.unmarked { background: #fff; color: #777; }
		.marked   { background: #777; color: #fff; }
	-->
   </style>
	
</head>

   <script LANGUAGE="JavaScript">
   <!--//	   
   function initChecklist(vIx)
   {
	  if (document.all && document.getElementById) 
	  {
		 var lists = document.getElementsByTagName("ul");
		 for (i = 0; i < lists.length; i++)
		 {			
			var theList = lists[i];				
			if (theList.className.indexOf("checklist") > -1) 
			{
			   var inputs = theList.getElementsByTagName("input");
			   var labels = theList.getElementsByTagName("label");
		 
			   if ((inputs[0].checked) && (vIx == 0))
			   {
				  for (var j = 0; j < inputs.length; j++)
				  { 
					 inputs[j].checked = false;
					 inputs[j].className = "unmarked";
					 labels[j].className = "unmarked";
				  }
		 
				  inputs[0].checked = true;
				  inputs[0].className = "marked";
				  labels[0].className = "marked";
			   }			
			   else if ((!inputs[0].checked) && (vIx == 0))
			   {
				  inputs[0].className = "unmarked";
				  labels[0].className = "unmarked";
			   }
			   else
			   {
				  for (var j = 0; j < inputs.length; j++)
				  {
					 if (inputs[j].checked)
					 {
						inputs[0].checked = false;
						inputs[0].className = "unmarked";
						labels[0].className = "unmarked";

						inputs[j].className = "marked";
						labels[j].className = "marked";
					 }
					 else
					 {
						inputs[j].className = "unmarked";
						labels[j].className = "unmarked";
					 }
				  }
			   }
			}			
		 }
	  }
   }//-->
   </SCRIPT>

<body>

	<ul class="checklist">
		<li><label class="unmarked" for="fDEPTO_ITEM0"><input id="0" name="fDEPTO_ITEM[]" class="unmarked" type="checkbox" value="0"  onClick="initChecklist(0)"/>Todos</label></li>
		<li><label class="unmarked" for="fDEPTO_ITEM1"><input id="1" name="fDEPTO_ITEM[]" class="unmarked" type="checkbox" value="27"  onClick="initChecklist(1)"/>DEPTO1</label></li>
		<li><label class="marked" for="fDEPTO_ITEM2"><input id="2" name="fDEPTO_ITEM[]" class="marked" type="checkbox" value="28" checked onClick="initChecklist(2)"/>DEPT<span class="style1">O2</span></label>
		</li>
	</ul>

</body>
</html>

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.