Jump to content


== MotoBoy ==

Member Since 11/01/2008
Offline Last Active 27/06/2011, 08:37
*****

#951368 Select Multiple

Posted by == MotoBoy == on 23/12/2008, 00:29

Olá Fórum !

Seguinte, consegui fazer um comboBox muito legal, que é o seguinte: dois <select> do tipo multiple, sendo um com vários itens e outro vazio, dois botões embaixo para poder transitar itens de um select para outro. Fiz tranquilo, tá funcionando perfeitamente, mas não estou conseguindo pegar os post´s do segundo <select>, que são os meus itens selecionados.

Vô postar o script para vocês verem:

Formulário com os Select´s
<form name="frmForm" id="frmForm" action="" method="post" enctype="multipart/form-data">
<select multiple="multiple" name="clientes" id="clientes" style="width:150px; height:130px;" onKeyDown="if(event.keyCode==39) adicionaItens(); if(event.keyCode==13) event.keyCode=9;">

	<option value="1">Maria</option>
	<option value="2">Jõao</option>
	<option value="3">Antônio</option>
	<option value="4">Francisco</option>
	<option value="5">Julia</option>
	<option value="6">Emerson</option>
	<option value="7">Ana</option>
	<option value="8">Lilian</option>
	<option value="9">Micaela</option>
	<option value="10">Hotelário</option>

</select>

<select multiple="multiple" name="selecionados" id="selecionados" style="width:150px; height:130px;" onKeyDown="if(event.keyCode==37) removeItens(); if(event.keyCode==13) event.keyCode=9;"></select><br />

<input type="button" name="btnDireita" id="btnDireita" value="-->" onClick="adicionaItens()" />
<input type="button" name="btnEsquerda" id="btnEsquerda" value="<--" onClick="removeItens()" /><br /><br />

</form>

Código Javascript

<script type="text/javascript">
	function adicionaItens() {

		var form = document.frmForm;
		var fl = form.clientes.length -1;
		var au = form.selecionados.length -1;
		var deptos1 = "x";

		//build array of assiged users
		for (au; au > -1; au--) {
			deptos1 = deptos1 + "," + form.selecionados.options[au].value + ","
		}

		//Pull selected resources and add them to list
		for (fl; fl > -1; fl--) {
			
			if (form.clientes.options[fl].selected && deptos1.indexOf( "," + form.clientes.options[fl].value + "," ) == -1) {
			
				t = form.selecionados.length
				opt = new Option( form.clientes.options[fl].text, form.clientes.options[fl].value );
				form.selecionados.options[t] = opt
				
			}
			
		}
		
	}
	
	function removeItens() {
   	
		var form = document.frmForm;
		fl = form.selecionados.length -1;

		for (fl; fl > -1; fl--) {
			
			if (form.selecionados.options[fl].selected) {
				
				form.selecionados.options[fl] = null;
				
			}
		}
		
	}
	
	</script>

Se vocês copiarem, colar e executar a página, ele vai funcionar perfeitamente ! Mas, se eu for querer enviar os meus selecionados para outra página eu não consigo, alguem me ajuda com esse script por gentileza.

Abraços !


IPB Skin By Virteq