【问题标题】:Prototype: how to move selected options from one select to another?原型:如何将选定的选项从一个选项移动到另一个选项?
【发布时间】:2010-12-07 16:04:41
【问题描述】:

使用原型 1.6 如何从一个选择中删除所有选定的选项并将它们附加到另一个?我想我应该补充一点,当它们出现在目标中时,它们不应该被选中......

【问题讨论】:

    标签: select prototypejs options


    【解决方案1】:

    我找到了答案,它只涉及使用“plain-jane”javascript 来获取选定的选项并取消选择它们。这使用原型 1.6 并且工作正常。

    <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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多