En utilisant le prototype 1.6, comment puis-je supprimer toutes les options sélectionnées d'un select et les ajouter à un autre? Je devrais ajouter que quand ils apparaissent dans la cible, ils ne devraient pas être sélectionnés ...Prototype: comment déplacer les options sélectionnées d'un select à l'autre?
1
A
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">>></button><br/>
<button id="moveLeftBtn"><<</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>