Foros del Web » Programando para Internet » Javascript »

Dos menúes asociados (Select)

Estas en el tema de Dos menúes asociados (Select) en el foro de Javascript en Foros del Web. Qué tal. No se si alguna vez habrán visto cuando en un formulario colocan dos campos Select con altura predefinida, uno junto al otro, y, ...
  #1 (permalink)  
Antiguo 03/11/2006, 07:34
 
Fecha de Ingreso: enero-2006
Ubicación: Maracay, Edo. Aragua
Mensajes: 206
Antigüedad: 18 años, 3 meses
Puntos: 0
Pregunta Dos menúes asociados (Select)

Qué tal.

No se si alguna vez habrán visto cuando en un formulario colocan dos campos Select con altura predefinida, uno junto al otro, y, en medio de ambos, dos botones, uno de agregar y otro de quitar, que lo que hacen es, cuando el usuario selecciona un elemento de un Select, y le da al botón AGREGAR, ese elemento se pasa al otro Select, y viceversa.

Está un poco engorroso, pero no sé bien cómo explicar lo que quiero.

Espero que puedan ayudarme enviándome algún enlace donde ya esté hecho el código JS que estoy buscando, gracias.
  #2 (permalink)  
Antiguo 03/11/2006, 17:13
Avatar de xcorpyon  
Fecha de Ingreso: junio-2004
Mensajes: 52
Antigüedad: 19 años, 10 meses
Puntos: 0
buenas.
este código te servirá,
por cortesía de www.mredkj.com.


Código HTML:
<script language="JavaScript" type="text/javascript">
<!--
var count1 = 0;
var count2 = 0;

function insertOptionBefore(num)
{
  var elSel = document.getElementById('selectX');
  if (elSel.selectedIndex >= 0) {
    var elOptNew = document.createElement('option');
    elOptNew.text = 'Insert' + num;
    elOptNew.value = 'insert' + num;
    var elOptOld = elSel.options[elSel.selectedIndex];  
    try {
      elSel.add(elOptNew, elOptOld); // standards compliant; doesn't work in IE
    }
    catch(ex) {
      elSel.add(elOptNew, elSel.selectedIndex); // IE only
    }
  }
}

function removeOptionSelected()
{
  var elSel = document.getElementById('selectX');
  var i;
  for (i = elSel.length - 1; i>=0; i--) {
    if (elSel.options[i].selected) {
      elSel.remove(i);
    }
  }
}

function appendOptionLast(num)
{
  var elOptNew = document.createElement('option');
  elOptNew.text = 'Append' + num;
  elOptNew.value = 'append' + num;
  var elSel = document.getElementById('selectX');

  try {
    elSel.add(elOptNew, null); // standards compliant; doesn't work in IE
  }
  catch(ex) {
    elSel.add(elOptNew); // IE only
  }
}

function removeOptionLast()
{
  var elSel = document.getElementById('selectX');
  if (elSel.length > 0)
  {
    elSel.remove(elSel.length - 1);
  }
}
//-->
</script>


<form>
<input type="button" value="o" onclick="insertOptionBefore(count1++);" />
Insert Before Selected<br />
<input type="button" value="o" onclick="removeOptionSelected();" />
Remove Selected<br />
<select id="selectX" size="10" multiple="multiple">
<option value="original1" selected="selected">Orig1</option>
<option value="original2">Orig2</option>
</select>
<br />
<input type="button" value="o" onclick="appendOptionLast(count2++);" />
Append Last<br />
<input type="button" value="o" onclick="removeOptionLast();" />
Remove Last
</form> 
  #3 (permalink)  
Antiguo 03/11/2006, 20:26
 
Fecha de Ingreso: enero-2006
Ubicación: Maracay, Edo. Aragua
Mensajes: 206
Antigüedad: 18 años, 3 meses
Puntos: 0
Es exactamente lo que andaba buscando, muchas gracias.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:51.