Ir para conteúdo

POWERED BY:

Arquivado

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

Faian

desabilitar um list/menu

Recommended Posts

Boa tarde pessoal estou com um problema em meu codigo, estou tentando desabilitar um list/menu e nao estou conseguindo é o seguinte:

 

tenho tres list/menu o primeiro me traz do BD os codigos dos projetos o segundo lista o nome dos professores dos respectivos projetos isso automaticamente e o terceiro é um outro de projeto só que esse projeto é interno ou seja se você escolher um projeto nao poderá escolher outro tem com fazer isso?

 

o codigo que estou usando é esse:

 

(primeiro list/menu)

<select name="codProj" class="intranet" id="codProj" onchange="list_dados( this.value )">	 		<?		include("conexao.php");		$result = mysql_query("select id_projeto, descprojeto from projetos order by id_projeto");	//$num_rows = mysql_num_rows($resultado);	$i = mysql_num_rows($result);	# Conta registros 	if ($i > 0){#SE CONTER REGISTROS 	$combo = $combo . "<option value=''></option>"; 	while ($linha = mysql_fetch_array($result)) { 			$id_projeto = $linha["id_projeto"]; 			$descprojeto = substr ($linha[1],0,50); 			echo $descprojeto;			$combo = $combo . "<option value='$id_projeto'>$id_projeto ..  $descprojeto</option>";			// $combo = $combo . "<option value='$id_sumario'>$id_sumario | $sumario</option>"; 	} 	} 	 //echo $combo->Fields('id_projeto').' . '.substr($combo->Fields('descprojeto'),0,60)	echo $combo; ?>			</select>
(segundo list/menu)

<td colspan="3" class="bordasBrancas"><select name="responsavel" type="text" class="intranet"></select>

(terceiro list/menu)

<select name="proj_int" Size=1 class="intranet" id="proj_int">	  <option value=""></option>	   <option value="1.0501-0 SFC">1.0501-0 SFC</option>	   <option value="1.0502-0 Unimed">1.0502-0 Unimed</option>	   <option value="5.0003-0 Eventos">5.0003-0 Eventos</option>	   <option value="5.0005-0 Projetos">5.0005-0 Projetos</option>			 	</select>

isso esta funcionando perfeitamente qdo se fala em me trazer o nome do professor dinamicamente isso nao tem problema o que eu queria mesmo é desabilitar os projetos qdo for escolhido um o outro fica desabilitado e qdo for escolhido o outro o outro fica desabilitado tem como?

Ajudem por favor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi 100% como seu sistema vai funcionar.

 

Para desabilitar outro select quando selecionarmos podemos fazer assim:

 

Os dois selects:

<select name="codProj" class="intranet" id="codProj" onChange="checa()"><option value="nSelected"></option><option value="Item 1">Item 1</option><option value="Item 2">Item 2</option><option value="Item 3">Item 3</option><option value="Item 4">Item 4</option></select><br><br><select name="proj_int" Size=1 class="intranet" id="projInt" onChange="checa()"><option value="nSelected"></option><option value="1.0501-0 SFC">1.0501-0 SFC</option><option value="1.0502-0 Unimed">1.0502-0 Unimed</option><option value="5.0003-0 Eventos">5.0003-0 Eventos</option><option value="5.0005-0 Projetos">5.0005-0 Projetos</option>
Ou seja, os dois tem um campo em branco(nSelected) para quando quisermos mudar de select.

 

Chamamos uma função checa() no onChange para verificar se foi escolhido algum valor.

<script language="javascript">function checa(){	if(document.getElementById('codProj').value=="nSelected") { document.getElementById('projInt').disabled=""; }	else { document.getElementById('projInt').disabled="disabled"; }		if(document.getElementById('projInt').value=="nSelected") { document.getElementById('codProj').disabled=""; }	else { document.getElementById('codProj').disabled="disabled"; }}</script>
A função checa() vai ver se foi escolhido algum valor em algum select, se tiver sido escolhido ele desabilita o outro select.

 

Agora é só ver se você consegue encaixar neste seu caso. Qualquer dúvida posta aí.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi 100% como seu sistema vai funcionar.Para desabilitar outro select quando selecionarmos podemos fazer assim:Os dois selects:

<select name="codProj" class="intranet" id="codProj" onChange="checa()"><option value="nSelected"></option><option value="Item 1">Item 1</option><option value="Item 2">Item 2</option><option value="Item 3">Item 3</option><option value="Item 4">Item 4</option></select><br><br><select name="proj_int" Size=1 class="intranet" id="projInt" onChange="checa()"><option value="nSelected"></option><option value="1.0501-0 SFC">1.0501-0 SFC</option><option value="1.0502-0 Unimed">1.0502-0 Unimed</option><option value="5.0003-0 Eventos">5.0003-0 Eventos</option><option value="5.0005-0 Projetos">5.0005-0 Projetos</option>
Ou seja, os dois tem um campo em branco(nSelected) para quando quisermos mudar de select.Chamamos uma função checa() no onChange para verificar se foi escolhido algum valor.
<script language="javascript">function checa(){	if(document.getElementById('codProj').value=="nSelected") { document.getElementById('projInt').disabled=""; }	else { document.getElementById('projInt').disabled="disabled"; }		if(document.getElementById('projInt').value=="nSelected") { document.getElementById('codProj').disabled=""; }	else { document.getElementById('codProj').disabled="disabled"; }}</script>
A função checa() vai ver se foi escolhido algum valor em algum select, se tiver sido escolhido ele desabilita o outro select.Agora é só ver se você consegue encaixar neste seu caso. Qualquer dúvida posta aí.
Obrigado valeu mesmo, deu certo eu só tive que usar o onBlur="checa()" no lugar de usar onChange pois já estva usando o onChange no primeiro select para outra função mas valeu garoto brigadão me quebrou um galhão.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi 100% como seu sistema vai funcionar.Para desabilitar outro select quando selecionarmos podemos fazer assim:Os dois selects:

<select name="codProj" class="intranet" id="codProj" onChange="checa()"><option value="nSelected"></option><option value="Item 1">Item 1</option><option value="Item 2">Item 2</option><option value="Item 3">Item 3</option><option value="Item 4">Item 4</option></select><br><br><select name="proj_int" Size=1 class="intranet" id="projInt" onChange="checa()"><option value="nSelected"></option><option value="1.0501-0 SFC">1.0501-0 SFC</option><option value="1.0502-0 Unimed">1.0502-0 Unimed</option><option value="5.0003-0 Eventos">5.0003-0 Eventos</option><option value="5.0005-0 Projetos">5.0005-0 Projetos</option>
Ou seja, os dois tem um campo em branco(nSelected) para quando quisermos mudar de select.Chamamos uma função checa() no onChange para verificar se foi escolhido algum valor.
<script language="javascript">function checa(){	if(document.getElementById('codProj').value=="nSelected") { document.getElementById('projInt').disabled=""; }	else { document.getElementById('projInt').disabled="disabled"; }		if(document.getElementById('projInt').value=="nSelected") { document.getElementById('codProj').disabled=""; }	else { document.getElementById('codProj').disabled="disabled"; }}</script>
A função checa() vai ver se foi escolhido algum valor em algum select, se tiver sido escolhido ele desabilita o outro select.Agora é só ver se você consegue encaixar neste seu caso. Qualquer dúvida posta aí.
Obrigado valeu mesmo, deu certo eu só tive que usar o onBlur="checa()" no lugar de usar onChange pois já estva usando o onChange no primeiro select para outra função mas valeu garoto brigadão me quebrou um galhão.
Mas me diag uma coisa tem como fazer isso trazendo essas informações do BD, pq é assim tenho uma pagina que altera as informações e essa pagina me traz na tela as informações do banco e qdo tentei fazer isso que você me passou nessa tela ao escolher um dos meus select para alterar ele desabilita os dois select. tem como fazer isso sem desabilitar os dois.Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas me diag uma coisa tem como fazer isso trazendo essas informações do BD, pq é assim tenho uma pagina que altera as informações e essa pagina me traz na tela as informações do banco e qdo tentei fazer isso que você me passou nessa tela ao escolher um dos meus select para alterar ele desabilita os dois select. tem como fazer isso sem desabilitar os dois.Abraço.

Tem como sim, posta aí uns trechos do código(javascript e form) pra agente dar uma olhada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas me diag uma coisa tem como fazer isso trazendo essas informações do BD, pq é assim tenho uma pagina que altera as informações e essa pagina me traz na tela as informações do banco e qdo tentei fazer isso que você me passou nessa tela ao escolher um dos meus select para alterar ele desabilita os dois select. tem como fazer isso sem desabilitar os dois.Abraço.

Tem como sim, posta aí uns trechos do código(javascript e form) pra agente dar uma olhada.
esse é o (primeiro select)<select name="codproj" class="intranet" id="codproj" onchange="list_dados( this.value )" onBlur="checa()"> <option value="<?php echo"$codproj"; ?>" selected><?php echo"$codproj"; ?></option> <? include("conexao.php"); $result = mysql_query("select id_projeto, descprojeto from projetos order by id_projeto"); //$num_rows = mysql_num_rows($resultado); $i = mysql_num_rows($result); # Conta registros if ($i > 0){#SE CONTER REGISTROS $combo = $combo . "<option value=''></option>"; while ($linha = mysql_fetch_array($result)) { $id_projeto = $linha["id_projeto"]; $descprojeto = substr ($linha[1],0,50); echo $descprojeto; $combo = $combo . "<option value='$id_projeto'>$id_projeto .. $descprojeto</option>" ; // $combo = $combo . "<option value='$id_sumario'>$id_sumario | $sumario</option>"; } } //echo $combo->Fields('id_projeto').' . '.substr($combo->Fields('descprojeto'),0,60) echo $combo; ?> </select>este é o (segundo select)<select name="proj_int" Size=1 class="intranet" id="proj_int" onBlur="checa()"> <option value="<?php echo"$proj_int"; ?>" selected><?php echo"$proj_int"; ?></option> <option value=""></option> <option value="1.0501-0 SFC">1.0501-0 SFC</option> <option value="1.0502-0 Unimed">1.0502-0 Unimed</option> <option value="1.0503-0 Uniodonto">1.0503-0 Uniodonto</option> <option value="1.0504-0 Seguro">1.0504-0 Seguro</option> <option value="1.0787-0 SFO">1.0787-0 SFO</option> </select>Lembrando que estou usando para desabilitar um deles o que você me pasosu mais acima.Valeu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta no primeiro select, antes de colocar qualquer código php adicionar um option <option value="nSelected"></option>E no segundo select ao invés de <option value=""></option> colocar o value como "nSelected".Se você estiver utilizando o javascript que eu te passei o problema está aí.E também o id do segundo select tem que mudar lá no javascript pro que você está usando.Outra coisa, não precisa usar o onBlur, é só colocar onChange="checa(); list_dados( this.value );"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta no primeiro select, antes de colocar qualquer código php adicionar um option <option value="nSelected"></option>E no segundo select ao invés de <option value=""></option> colocar o value como "nSelected".Se você estiver utilizando o javascript que eu te passei o problema está aí.E também o id do segundo select tem que mudar lá no javascript pro que você está usando.Outra coisa, não precisa usar o onBlur, é só colocar onChange="checa(); list_dados( this.value );"

Valeu vou ver se da certo colocar o <option value="nSelected"></option> antes do codigo PHP sobre o id eu já tinha mudado mas mesmo assim obrigado.Valeu pela ajuda.

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.