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 --^----------------------------------------------------------------