Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/09/2013, 15:35
chubse
 
Fecha de Ingreso: marzo-2012
Mensajes: 84
Antigüedad: 12 años, 1 mes
Puntos: 3
Remover elementos de un Listbox con JQuery

Que tal amigos del foro, antes que nada les doy las gracias por su gran ayuda. Les explico mi problema:
tengo 2 Listbox que funcionan cuando doy doble click en la lista del box1Group me añade los elementos al box2Group y si doy doble click en la lista añadida del box2Group me remueve los elementos del box2Group, ¿cómo podría hacer para que en vez de tener que darle doble click en los elementos del box2Group para removerlos los pueda seleccionar del mismo box1Group? Es decir que con un sólo click en el box1Group me añada los elementos y con un doble click en el mismo box1Group me los remueva del box2Group.

Gracias
Saludos

index.php
Código HTML:
Ver original
  1. <script src="js/jquery.contextmenu.r2.js" type="text/javascript"></script>
  2. </head>
  3.  
  4. <form name="estados" id="estados" action="filtro_edo_login.php" method="POST" onsubmit="selectAllOptions('select_2'); return false;">
  5.                     <div id="box1Group">
  6.                         <select name="view[]" id="view" multiple="multiple" style="height:400px;width:400px;">
  7.                        
  8.                         <?php
  9.            
  10.                             $consult_edo="SELECT id_estado, estado_dsc FROM cat_estado";
  11.                            
  12.                             $result_edo=mysql_query ($consult_edo,$conexion);  
  13.                                                                    
  14.                                 while ($fila=mysql_fetch_array($result_edo)){  
  15.                                
  16.                                         echo '<option value="'.$fila["id_estado"].' "';
  17.                                                 if($_POST["view"]==$fila["id_estado"]) echo " selected";
  18.                                         echo '>'.$fila["estado_dsc"].'</option>';  
  19.                         }
  20.                            
  21.                                    
  22.                         ?>
  23.                         </select><br/>
  24.  
  25.                     </div>
  26.                
  27.                     <div id="box2Group">
  28.                         <select name="view[]" multiple="multiple" style="height:400px;width:400px;" id="select_2"></select><br />
  29.        
  30.         </div>
  31.  
  32.         </form>
  33. </body>

dlbScriptCrossBrowser.js
Código Javascript:
Ver original
  1. $(function() {
  2.     var biggest = 0;
  3.     $("button").each(function(i) {
  4.         if ($(this).width() > biggest) { biggest = $(this).width(); }
  5.     });
  6.     biggest += 5;
  7. $("#box1Group select[name='view[]']").click(function() {
  8.         MoveSelected('box1Group', 'box2Group');
  9.     });
  10. $("#box2Group select[name='view[]']").dblclick(function() {
  11.         RemoveSelected('box2Group', 'box1Group');
  12.     });
  13. });
  14.  
  15. function MoveSelected(fromGroupID, toGroupID) {
  16.     $("#" + fromGroupID + " select[name='view[]'] option:selected:not([class=copiedOption])").clone().appendTo("#" + toGroupID + " select[name='view[]']").end().end().addClass('copiedOption').removeAttr('selected');
  17.     Filter(toGroupID, $("#" + toGroupID + " input[name='filter']").val());
  18.     UpdateLabel(fromGroupID);
  19.  
  20. function RemoveSelected(removeFromGroupID, otherGroupID) {
  21.     $("#" + otherGroupID + " select[name='view[]'] option.copiedOption").add("#" + otherGroupID + " select[name='storage'] option.copiedOption").remove();
  22.     $("#" + removeFromGroupID + " select[name='view[]'] option:selected").removeAttr('selected').appendTo("#" + otherGroupID + " select[name='view[]']");
  23.     $("#" + removeFromGroupID + " select[name='view[]'] option").add("#" + removeFromGroupID + " select[name='storage'] option").clone().addClass('copiedOption').appendTo("#" + otherGroupID + " select[name='view[]']");
  24.     Filter(otherGroupID, $("#" + otherGroupID + " input[name='filter']").val());
  25.     UpdateLabel(removeFromGroupID);
  26. }