当前位置:  开发笔记 > 编程语言 > 正文

在双列表框中移动项目

如何解决《在双列表框中移动项目》经验,为你挑选了3个好方法。

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



1> Remy Sharp..:

如果你很高兴使用jQuery,它非常非常简单.

$('#firstSelect option:selected').appendTo('#secondSelect');

其中#firstSelect是选择框的ID.

我在这里列举了一个工作示例:

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



2> Tom..:

此代码假定您有一个锚点或在单击时触发移动:

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]);
    }

 }


@nemo不是问题!在我看来,总是很高兴知道*如何*有效的东西,而不仅仅是*它的工作原理.

3> PhiLho..:

独立于库的解决方案:

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



CSS(示例)

select { width: 200px; float: left; }
#Toolbar { width: 50px; float: left; text-align: center; padding-top: 30px; }
#Toolbar input { width: 40px; }

仅快速测试FF3和IE6&7.

推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有