A� est� Marcelo.
Abra�os. Fabio.
Mover os itens para a caixa da direita, esquerda, para cima ou para baixo:
function direita(){
TransferValue(document.form1.msel_itens_disp,document.form1.msel_itens_selec
,document.form1.msel_itens_selec)
}
function esquerda(){
TransferValue(document.form1.msel_itens_selec,document.form1.msel_itens_disp
,document.form1.msel_itens_selec)
}
function cima(){
MoveOptionUp(document.form1.msel_itens_selec)
}
function baixo(){
MoveOptionDown(document.form1.msel_itens_selec)
}
----------------------- Fun��es ---------------------------
/* Tranfere um ou mais itens de um multiple Choice para Outro*/
// Origem = Campo do qual partem os valores selecionados
// Destino = Campo para qual v�o os valores selecionados
// Argumento 3 = caso seja passado � o campo a ser enumerado
function TransferValue(origem,destino){
var OrigemFicaArray = new Array();
var OrigemTransfArray = new Array();
var IndiceOrigem = 0;
var IndiceTransf = 0;
ChecaTamanhoChoice(destino,0);
for (f = 0; f < destino.length; f++){
OrigemTransfArray[IndiceTransf] = new Array();
OrigemTransfArray[IndiceTransf][0] = destino.options[f].text;
OrigemTransfArray[IndiceTransf][1] = destino.options[f].value;
IndiceTransf = eval(IndiceTransf + 1);
}
for (f = 0; f < origem.length; f++){
if (origem.options[f].selected){
OrigemTransfArray[IndiceTransf] = new Array();
OrigemTransfArray[IndiceTransf][0] = origem.options[f].text;
OrigemTransfArray[IndiceTransf][1] = origem.options[f].value;
IndiceTransf = eval(IndiceTransf + 1);
}else{
OrigemFicaArray[IndiceOrigem] = new Array();
OrigemFicaArray[IndiceOrigem][0] = origem.options[f].text;
OrigemFicaArray[IndiceOrigem][1] = origem.options[f].value;
IndiceOrigem = eval(IndiceOrigem + 1);
}
}
ArraytoChoice(origem,OrigemFicaArray);
ArraytoChoice(destino,OrigemTransfArray);
ChecaTamanhoChoice(origem,30);
DesenumerarChoice(destino);
DesenumerarChoice(origem);
if (arguments.length > 2){
if(arguments[2]){
EnumerarChoice(arguments[2]);
ChecaTamanhoChoice(origem,0);
ChecaTamanhoChoice(origem,30);
}
}
}
/* Reposiciona o option dentro de um Choice colocando-o um �ndex acima*/
// choice = choice a ser trabalhado
function MoveOptionUp(choice){
var ArraySelectedItens = new Array();
var ArrayAllItens = new Array();
var ArrayChoiceFinal = new Array();
var IndiceArrayChoiceFinal = 0;
var IndiceItens = 0;
var IndiceAllItens = 0;
var IndiceChoice;
var NewIndiceValueChoice;
var OldIndiceValueChoice;
var TamanhoArrayNovo;
// Criando um array com os options selecionados
for (a = 0; a < choice.length; a++){
if (choice.options[a].selected){
if ( a != 0){
ArraySelectedItens[IndiceItens] = choice.options[a].value;
IndiceItens = eval(IndiceItens + 1);
}
}
}
// Criando um Array com todos os options
for (a = 0; a < choice.length; a++){
ArrayAllItens[IndiceAllItens] = choice.options[a].value;
IndiceAllItens = eval(IndiceAllItens + 1);
}
// loop dos selecionados
for (f = 0; f < ArraySelectedItens.length; f++){
// Definindo o �ndex do choice em quest�o
for (i = 0; i < choice.length; i++){
if (ArrayAllItens[i] == ArraySelectedItens[f]){
IndiceChoice = i;
break;
}
}
NewIndiceValueChoice = ArrayAllItens[IndiceChoice];
OldIndiceValueChoice = ArrayAllItens[eval(IndiceChoice - 1)];
ArrayAllItens[eval(IndiceChoice - 1)] = NewIndiceValueChoice;
ArrayAllItens[IndiceChoice] = OldIndiceValueChoice;
}
// Contruindo um array final baseado no array de values
TamanhoArrayNovo = ArrayAllItens.length;
for (w = 0;w < TamanhoArrayNovo; w++){
for (y = 0; y < choice.length; y++){
if (ArrayAllItens[IndiceArrayChoiceFinal] == choice.options[y].value){
ArrayChoiceFinal[IndiceArrayChoiceFinal] = new Array();
ArrayChoiceFinal[IndiceArrayChoiceFinal][0] = choice.options[y].text;
ArrayChoiceFinal[IndiceArrayChoiceFinal][1] = choice.options[y].value;
IndiceArrayChoiceFinal = eval(IndiceArrayChoiceFinal + 1);
}
}
}
ArraytoChoice(choice,ArrayChoiceFinal);
DesenumerarChoice(choice);
EnumerarChoice(choice);
OptionsFocus(choice,ArraySelectedItens)
}
/* Reposiciona o option dentro de um Choice colocando-o um �ndex acima*/
// choice = choice a ser trabalhado
function MoveOptionDown(choice){
var ArraySelectedItens = new Array();
var ArrayAllItens = new Array();
var ArrayChoiceFinal = new Array();
var IndiceArrayChoiceFinal = 0;
var IndiceItens = 0;
var IndiceAllItens = 0;
var IndiceChoice;
var NewIndiceValueChoice;
var OldIndiceValueChoice;
var TamanhoArrayNovo;
// Criando um array com os options selecionados
for (a = eval(choice.length - 1); a >= 0; a--){
if (choice.options[a].selected){
if ( a != eval(choice.length-1)){
ArraySelectedItens[IndiceItens] = choice.options[a].value;
IndiceItens = eval(IndiceItens + 1);
}
}
}
// Criando um Array com todos os options
for (a = 0; a < choice.length; a++){
ArrayAllItens[IndiceAllItens] = choice.options[a].value;
IndiceAllItens = eval(IndiceAllItens + 1);
}
// loop dos selecionados
for (f = 0; f < ArraySelectedItens.length; f++){
// Definindo o �ndex do choice em quest�o
for (i = 0; i < choice.length; i++){
if (ArrayAllItens[i] == ArraySelectedItens[f]){
IndiceChoice = i;
break;
}
}
NewIndiceValueChoice = ArrayAllItens[IndiceChoice];
OldIndiceValueChoice = ArrayAllItens[eval(IndiceChoice + 1)];
ArrayAllItens[eval(IndiceChoice + 1)] = NewIndiceValueChoice;
ArrayAllItens[IndiceChoice] = OldIndiceValueChoice;
}
// Contruindo um array final baseado no array de values
TamanhoArrayNovo = ArrayAllItens.length;
for (w = 0;w < TamanhoArrayNovo; w++){
for (y = 0; y < choice.length; y++){
if (ArrayAllItens[IndiceArrayChoiceFinal] == choice.options[y].value){
ArrayChoiceFinal[IndiceArrayChoiceFinal] = new Array();
ArrayChoiceFinal[IndiceArrayChoiceFinal][0] = choice.options[y].text;
ArrayChoiceFinal[IndiceArrayChoiceFinal][1] = choice.options[y].value;
IndiceArrayChoiceFinal = eval(IndiceArrayChoiceFinal + 1);
}
}
}
ArraytoChoice(choice,ArrayChoiceFinal);
DesenumerarChoice(choice);
EnumerarChoice(choice);
OptionsFocus(choice,ArraySelectedItens)
}
----- Original Message -----
From: "Marcelo Rodrigo" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Friday, June 18, 2004 5:13 PM
Subject: [cf-brasil] OFF: JS para cambiar listboxes
Pessoal,
Desculpem o OFF, mas � de extrema necessidade.
Algu�m tem algum JS que transfira itens de uma listbox para outra?
Obrigado,
Marcelo
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.707 / Virus Database: 463 - Release Date: 15/06/04
--^----------------------------------------------------------------
This email was sent to: [EMAIL PROTECTED]
EASY UNSUBSCRIBE click here: http://topica.com/u/?b1dnXn.b7M5gI.YXJxdWl2
Or send an email to: [EMAIL PROTECTED]
For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=TEXFOOTER
--^----------------------------------------------------------------