首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在双重列表框中移动项目

在双重列表框中移动项目
EN

Stack Overflow用户
提问于 2008-10-15 09:20:19
回答 3查看 19.2K关注 0票数 18

如何在ASP.NET中使用JavaScript将项从一个列表框控件移动到另一个列表框控件?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2008-10-15 11:47:59

这段代码假设您有一个锚点,或者当单击它时将触发移动:

代码语言:javascript
复制
document.getElementById('moveTrigger').onclick = function() {

    var listTwo = document.getElementById('secondList');
    var options = document.getElementById('firstList').getElementsByTagName('option');

    while(options.length != 0) {
        listTwo.appendChild(options[0]);
    }

 }
票数 6
EN

Stack Overflow用户

发布于 2008-10-15 09:30:56

如果你乐于使用jQuery,那么它非常非常简单。

代码语言:javascript
复制
$('#firstSelect option:selected').appendTo('#secondSelect');

其中#firstSelect是选择框的ID。

我在这里包含了一个工作示例:

http://jsbin.com/aluzu (编辑:http://jsbin.com/aluzu/edit)

票数 32
EN

Stack Overflow用户

发布于 2008-10-15 12:03:47

独立于库的解决方案:

代码语言:javascript
复制
function Move(inputControl)
{
  var left = document.getElementById("Left");
  var right = document.getElementById("Right");
  var from, to;
  var bAll = false;
  switch (inputControl.value)
  {
  case '<<':
    bAll = true;
    // Fall through
  case '<':
    from = right; to = left;
    break;
  case '>>':
    bAll = true;
    // Fall through
  case '>':
    from = left; to = right;
    break;
  default:
    alert("Check your HTML!");
  }
  for (var i = from.length - 1; i >= 0; i--)
  {
    var o = from.options[i];
    if (bAll || o.selected)
    {
      from.remove(i);
      try
      {
        to.add(o, null);  // Standard method, fails in IE (6&7 at least)
      }
      catch (e)
      {
        to.add(o); // IE only
      }
    }
  }
}

HTML

代码语言:javascript
复制
<select id="Left" multiple="multiple" size="10">
  <option>Some</option>
  <option>List</option>
  <option>Of</option>
  <option>Items</option>
  <option>To</option>
  <option>Move</option>
  <option>Around</option>
</select>

<div id="Toolbar">
  <input type="button" value="&gt;" onclick="Move(this)"/>
  <input type="button" value="&gt;&gt;" onclick="Move(this)"/>
  <input type="button" value="&lt;&lt;" onclick="Move(this)"/>
  <input type="button" value="&lt;" onclick="Move(this)"/>
</div>

<select id="Right" multiple="multiple" size="10">
</select>

CSS (示例)

代码语言:javascript
复制
select { width: 200px; float: left; }
#Toolbar { width: 50px; float: left; text-align: center; padding-top: 30px; }
#Toolbar input { width: 40px; }

仅限快速测试FF3和IE6 &7。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/204140

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档