2010-12-07 40 views

Répondre

1

J'ai trouvé la réponse, qui consistait simplement à utiliser "jane-jane" javascript pour obtenir les options sélectionnées et les désélectionner . Cela utilise le prototype 1.6 et fonctionne bien.

<head> 

    <script type="text/javascript" src="prototype.js"></script> 

</head> 

<body> 

    <h1>Hello World</h2> 

    <div style="border:solid 1px black"> 

     <select id="leftSelect" multiple="multiple" size="3"> 
      <option value="1">One</option> 
      <option value="2">Two</option> 
      <option value="3">Three</option> 
     </select> 

     <span class="test"> 
      <button id="moveRightBtn">&gt;&gt;</button><br/> 
      <button id="moveLeftBtn">&lt;&lt;</button> 
     </span> 

     <select id="rightSelect" multiple="multiple" size="3"> 
      <option value="1">One</option> 
      <option value="2">Two</option> 
      <option value="3">Three</option> 
     </select> 

    </div> 

    <script type="text/javascript"> 

     document.observe("dom:loaded", function() 
     { 
      Event.observe("moveRightBtn", "click", function() 
      { 
       move($("leftSelect"), $("rightSelect")); 
      }); 

      Event.observe("moveLeftBtn", "click", function() 
      { 
       move($("rightSelect"), $("leftSelect")); 
      }); 
     }); 

     function move(sourceSelect, targetSelect) 
     { 
     var options = sourceSelect.select("option"); 

     options.each(function(item) 
     { 
      if(item.selected) 
      { 
       item.selected = false; 
       targetSelect.appendChild(item.remove()); 
      } 
     }); 
     } 

    </script> 

</body>