⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 双向选择框示例 .html

📁 介绍了javascript的常用的函数
💻 HTML
字号:
<html>
<head>
<title>JavaScript Book--代码6-25</title>
  <script language="JavaScript">
  <!-- 页面载入时初始化所有未选择的数据 -->
  function loadAllUnselected(){
  var unassignedTable = document.getElementById("unassignedTable");
  var rowsUnselected = unassignedTable.childNodes[0].childNodes;
  document.getElementById("unselected").value = "";
  for(var i=0;i<rowsUnselected.length;i++){
     if (rowsUnselected[i].tagName == "TR" && rowsUnselected[i].getAttribute("id")!=''){
     document.getElementById("unselected").value = document.getElementById("unselected").value + '||' + rowsUnselected[i].getAttribute("id");
     }
  }
  var assignedTable = document.getElementById("assignedTable");
  var rowsSelected = assignedTable.childNodes[0].childNodes;
  for(var i=0;i<rowsSelected.length;i++){
  if (rowsSelected[i].tagName == "TR" && rowsSelected[i].getAttribute("id")!=''){
     document.getElementById("unselected").value = document.getElementById("unselected").value + '||' + rowsSelected[i].getAttribute("id");
     }
  }

  }

  <!-- 汇总所有已分配和未分配数据 -->
  function countAllIds(){
  var unassignedTable = document.getElementById("unassignedTable");
  var rowsUnas = unassignedTable.childNodes[0].childNodes;
  document.getElementById("unassignedids").value = '';
  for(var i=0;i<rowsUnas.length;i++){
     if (rowsUnas[i].tagName == "TR" && rowsUnas[i].getAttribute("id")!=''){
       document.getElementById("unassignedids").value = document.getElementById("unassignedids").value + '||' + rowsUnas[i].getAttribute("id");
     }
  }
  var assignedTable = document.getElementById("assignedTable");
  var rowsas = assignedTable.childNodes[0].childNodes;
  document.getElementById("assignedids").value = '';
  for(var i=0;i<rowsas.length;i++){
    if (rowsas[i].tagName == "TR" && rowsas[i].getAttribute("id")!='')
     document.getElementById("assignedids").value = document.getElementById("assignedids").value + '||' + rowsas[i].getAttribute("id");
  }
  }

  <!-- 将选中的行移至未分配表 -->
  function moveToLeft(){
    //get all selected ids
    var ids = document.getElementById("selected").value;
    var idArray = ids.split('||');
    for(var i=0;i<idArray.length;i++){
      if(idArray[i]!=''){
        var moveObj = document.getElementById(idArray[i]);
        add(moveObj, "unassignedTable");
      }
    }
    countAllIds();
  }

  <!-- 将选中的行移至已分配表 -->
  function moveToRight(){
    //get all selected ids
    var ids = document.getElementById("selected").value;
    var idArray = ids.split('||');
    for(var i=0;i<idArray.length;i++){
      if(idArray[i]!=''){
        var moveObj = document.getElementById(idArray[i]);
        add(moveObj,"assignedTable");
      }
    }
    countAllIds();
  }

  <!-- 在指定表格中添加对应的行 -->
  function add(rowObj, tableObj){
    var table = document.getElementById(tableObj);
    var newRow = table.insertRow(table.rows.length);
    newRow.replaceNode(rowObj);
  }

  <!-- 删除已选择的行 -->
  function removeRow(obj)
  {
       var clickedRow = obj;
       while(clickedRow.tagName != "TR")
       {
           clickedRow = clickedRow.parentNode;
       }
       clickedRow.parentNode.removeChild(clickedRow);
  }

  <!-- 当鼠标点击时切换背景色与设置值-->
  function changeBackground(obj){
    if (obj.style.background=="silver"){
      obj.style.background="#ffffff";
      document.getElementById("unselected").value = document.getElementById("unselected").value+ '||' + obj.getAttribute("id");
      document.getElementById("selected").value = document.getElementById("selected").value.replace('||'+obj.getAttribute("id"),'');
    }  else {

      if(document.getElementById("selected").value.indexOf(obj.getAttribute("id"))<0){
        document.getElementById("selected").value = document.getElementById("selected").value+ '||' + obj.getAttribute("id");
        document.getElementById("unselected").value = document.getElementById("unselected").value.replace('||'+obj.getAttribute("id"),'');
      }
      obj.style.background="silver";
    }
  }
  </script>
      <style>    body  { text-align: center;}p {text-align: center;}#wrapper { width: 800px; margin: 0 auto; text-align: left; position: relative;}#buttonArea { width: 100px; float: left;}#leftPanel { width: 350px; float: left;}#rightPanel { width: 350px; float: left;}#footer { clear: both;}
      </style>
    </head>
    <body onload="loadAllUnselected();countAllIds();">
      <div id="wrapper">
        <div>
          <p>双向选择框示例
          </p>
        </div>
        <div id="leftPanel">
          <p>
            <table  id="unassignedTable" width="350"   border="1"   style="border-collapse:collapse;"   bordercolor="#111111"   cellpadding="0"   cellspacing="0">
              <tr>
                <th  colspan="3">未分配
                </th>
              </tr>
              <tr>
                <th>列1
                </th>
                <th>列2
                </th>
                <th>列3
                </th>
              </tr>
              <tr id="a" onclick=changeBackground(this)>  <td>A</td>  <td>A</td>  <td>A</td>
              </tr>
              <tr id="b" onclick=changeBackground(this)>  <td>B</td>  <td>B</td>  <td>B</td>
              </tr>
            </table>
          </p>
        </div>
        <div id="buttonArea">
          <p>
            <p>
              <input type="button" onclick="moveToRight()" value=">>">
            </p>
            <p>
              <input type="button" onclick="moveToLeft()" value="<<">
            </p>
          </p>
        </div>
        <div id="rightPanel">
          <p>
            <table id="assignedTable"   width="350"   border="1"   style="border-collapse:collapse"   bordercolor="#111111"   cellpadding="0"   cellspacing="0">
              <tr>
                <th  colspan="3">已分配
                </th>
              </tr>
              <tr>
                <th>列1
                </th>
                <th>列2
                </th>
                <th>列3
                </th>
              </tr>
              <tr id="c" onclick=changeBackground(this)>  <td>C</td>  <td>C</td>  <td>C</td>
              </tr>
            </table>
          </p>
        </div>
      </div>
      <p>未选择:
        <input id="unselected" type=text value="">&nbsp;&nbsp;&nbsp;已选择:
        <input id="selected" type=text value="">
      </p>
      <p>未分配:
        <input id="unassignedids" type=text value="">&nbsp;&nbsp;&nbsp;已分配:
        <input id="assignedids" type=text value="">
      </p>
    </body>
  </html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -