Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/03/2010, 08:10
Stendelis
 
Fecha de Ingreso: julio-2006
Ubicación: Montevideo
Mensajes: 34
Antigüedad: 18 años, 5 meses
Puntos: 0
Problema, agregar o borrar opciones con jquery

Hola,

Necesito ayuda con este pequeño script..
La idea es simple:
  1. tengo 1 select con varias opciones
  2. tengo otro select vació
  3. tengo un div vacío

Si selecciono del primer select y hago "add", la opcion seleccionada se agrega al select 2, se borra del select 1 y se crea un item en el listado con la opcion de borrar.

La opción de borrar en el listado quita del select 2 y del listado y agrega al select1.

La primera parte funciona bien, menos si selecciono varias opciones en el select1.
Y no logro que borre correctamente.

Ejecuten el siguiente código y vean los errores que dan. El código ya trae el jquery desde google.

Código HTML:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	<title>Prueba</title>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script>
	<script type="text/javascript">
		window.onload=function(){
			 $("#add").click(function(){
				var nombre = $("#select1 option:selected").text();	
				var valor = $("#select1 option:selected").val();	
			  $("#destino").append("<li id='"+valor+"'>"+nombre+" <a class='delete' href='#'>x</a></li>");
			  $("#select1 option:selected").remove().appendTo("#select2");
			 });

			$("a.delete").click(function(){
				var parent = $(this).parent();
				$("#select2").find("option[value='"+parent.attr("id")+"']").remove().appendTo("#select1");
				parent.remove();
			});
		}
	</script>
</head>
<body>
<form action="" method="post">
    <label>Select 1:</label><br />
    <select name="select1" id="select1" size="5" multiple>
        <option value="1">Opcion 1</option>
        <option value="2">Opcion 2</option>
        <option value="3">Opcion 3</option>
        <option value="4">Opcion 4</option>
        <option value="5">Opcion 5</option>
    </select><br /><a href="#" id="add">Add</a><br /><br /><br />
    
    <label>Select 2:</label><br />
    <select name="select2" id="select2" size="5" multiple>
    </select>
</form><br /><br /><br />

     <ul id="destino">
     </ul>	

</body>
</html> 

Última edición por Stendelis; 25/03/2010 a las 08:22