欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

javascript實現(xiàn)可全選、反選及刪除表格的方法

 更新時間:2015年05月15日 10:29:39   作者:永遠愛好寫程序  
這篇文章主要介紹了javascript實現(xiàn)可全選、反選及刪除表格的方法,實例展示了javascript針對表格全選、反選、刪除、隔行變色、刪除提示等常用技巧,非常具有實用價值,需要的朋友可以參考下

本文實例講述了javascript實現(xiàn)可全選、反選及刪除表格的方法。分享給大家供大家參考。具體實現(xiàn)方法如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>可以全選反選刪除的表格</title>
<style type="text/css">
body,table
{
 margin:0;
 padding:0;
 font-size:14px;
}   
table,tr,th,td
{
 border:1px solid #cdc;
}
th
{
 background-color:green;
 width:100px;
}
.oddColor
{
 background-color:#ccc;
}
.evenColor
{
 background-color:#fcf;
}
.overColor
{
 background-color:#dff;
}
</style>
<script type="text/javascript">
 //定義嵌套數(shù)組
 var datas = [["張三", 30, "南昌"], ["李四", 25, "北京"], ["王五", 20, "鄭州"],
    ["趙六", 19, "武漢"], ["李莫", 18, "深圳"], ["羅成", 33, "重慶"],
    ["王平", 31, "天津"], ["劉萍", 22, "上海"], ["楊麗", 17, "石家莊"],
    ["郭麗", 30, "廣州"]];
 //動態(tài)創(chuàng)建表格
 function CreateMyTable() {
  var tblMain = document.getElementById("tblMain");
  var rowsCount = tblMain.rows.length;
  var addRow;
  var addCol;
  var detailInfos;
  for (var i = 0; i < datas.length; i++) {
   addRow = tblMain.insertRow(rowsCount - 1);//控制數(shù)據(jù)行添加到倒數(shù)第二列
   addCol = addRow.insertCell(-1);
   addCol.innerHTML = "<input type='checkbox' name='item' />";
   addCol.align = "center"; //控制列居中
   detailInfos = datas[i];
   for (var j = 0; j < detailInfos.length; j++) {
    addCol = addRow.insertCell(-1);
    addCol.innerHTML = detailInfos[j];
   }
   addCol = addRow.insertCell(-1);
   addCol.innerHTML = "<input type='button' id='btnDel" + i + "' value='刪除' onclick='btnDel(this)' />";
   addCol.align = "center"; //控制列居中
   rowsCount++;
  }
  TableColor();
 }
 //設(shè)置網(wǎng)格間隔色和高亮顯示
 var oldClassName;    //記住行的背景色
 function TableColor() {
  var tblMain = document.getElementById("tblMain");
  var rowNodes = tblMain.rows;
  for (var i = 1; i < rowNodes.length-1; i++) { //除去首行和末行
   if (i % 2 == 0) {
    rowNodes[i].className = "evenColor";
   }
   else {
    rowNodes[i].className = "oddColor";
   }
   rowNodes[i].onmouseover = function () {
    oldClassName = this.className;
    this.className = "overColor";
   }
   rowNodes[i].onmouseout = function () {
    this.className = oldClassName;
   }
  }
 }
 //復選框全選函數(shù)
 function checkAll() {
  var currentCheckNode = event.srcElement;
  var checkAllNodes = document.getElementsByName("all");
  //把沒有點擊的全選復選框去除復選
  for (var i = 0; i < checkAllNodes.length; i++) {
   if (currentCheckNode != checkAllNodes[i]) {
    checkAllNodes[i].checked = false;
   }
  }
  var checkItemNodes = document.getElementsByName("item");
  for (var i = 0; i < checkItemNodes.length; i++) {
   checkItemNodes[i].checked = currentCheckNode.checked;
  }
 }
 //按鈕選擇函數(shù)
 function btnCheckboxSel(index) {
  var checkItemNodes = document.getElementsByName("item");
  for (var i = 0; i < checkItemNodes.length; i++) {
   if (index == 2) {
    checkItemNodes[i].checked = !checkItemNodes[i].checked;
   }
   else {
    checkItemNodes[i].checked = index;
   }
  }
 }
 //每行的刪除按鈕函數(shù)
 function btnDel(btn) {
  var tblMain = document.getElementById("tblMain");
  var delRowNode = btn.parentNode.parentNode;
  var sMsg = "您是否要刪除 姓名為:【" + delRowNode.cells[1].innerText + "】,年齡為:【" +
      delRowNode.cells[2].innerText + "】,城市為:【" +
      delRowNode.cells[3].innerText + "】 的數(shù)據(jù)?";
  if (window.confirm(sMsg)) {
   tblMain.tBodies[0].removeChild(delRowNode);
   TableColor();
  }
 }
 //刪除所選項按鈕函數(shù)
 function btnDelSelectRow() {
  var arrDel = new Array();
  var pos = 0;
  var itemNodes = document.getElementsByName("item");
  for (var i = 0; i < itemNodes.length; i++) {
   if (itemNodes[i].checked) {
    arrDel[pos] = itemNodes[i].parentNode.parentNode;
    pos++;
   }
  }
  if (pos <= 0) {
   return;
  }
  if (!window.confirm("是否要刪除選擇的數(shù)據(jù)?"))
   return;
  var tblMain = document.getElementById("tblMain");
  for (var i = 0; i < arrDel.length; i++) {
   tblMain.tBodies[0].removeChild(arrDel[i]);
  }
 }
 window.onload = CreateMyTable;
</script>
</head>
<body>
<table id="tblMain" cellspacing="0" cellpadding="10px" align="center">
 <tbody>
  <tr>
   <th><input type="checkbox" name="all" onclick="checkAll()" />全選</th>
   <th>姓名</th>
   <th>年齡</th>
   <th>城市</th>
   <th>操作</th>
  </tr>
  <tr>
   <th><input type="checkbox" name="all" onclick="checkAll()" />全選</th>
   <th colspan="4">
    <input type="button" value="全選" onclick="btnCheckboxSel(1)" />
    <input type="button" value="全清" onclick="btnCheckboxSel(0)" />
    <input type="button" value="反選" onclick="btnCheckboxSel(2)" />
    <input type="button" value="刪除所選項" onclick="btnDelSelectRow()" />
   </th>
  </tr>
 </tbody>  
</table>
</body>
</html>

希望本文所述對大家的javascript程序設(shè)計有所幫助。

相關(guān)文章

  • js中parseInt()詭異行為的探究與改正

    js中parseInt()詭異行為的探究與改正

    這篇文章主要給大家介紹了關(guān)于js中parseInt()詭異行為的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • 微信小程序用戶授權(quán)獲取手機號(getPhoneNumber)

    微信小程序用戶授權(quán)獲取手機號(getPhoneNumber)

    這篇文章主要給大家介紹了關(guān)于微信小程序用戶授權(quán)獲取手機號的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • 詳解ES6中的三種異步解決方案

    詳解ES6中的三種異步解決方案

    這篇文章主要介紹了詳解ES6中的三種異步解決方案,詳細的介紹了這三種方案的實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • JavaScript數(shù)組合并案例講解

    JavaScript數(shù)組合并案例講解

    這篇文章主要介紹了JavaScript數(shù)組合并案例講解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • javascript html實現(xiàn)網(wǎng)頁版日歷代碼

    javascript html實現(xiàn)網(wǎng)頁版日歷代碼

    這篇文章主要介紹了javascript html實現(xiàn)網(wǎng)頁版日歷代碼,需要的朋友可以參考下
    2016-03-03
  • 不使用中間變量,交換int型的 a, b兩個變量的值。

    不使用中間變量,交換int型的 a, b兩個變量的值。

    群中的題目,不過這樣大眾臉的題想必大家都見過,就看能玩出什么新花招
    2010-10-10
  • axios攔截器、ElementUI組件的使用方法

    axios攔截器、ElementUI組件的使用方法

    大家都知道ElementUI是"餓了么"公司推出的基于Vue2.0的組件庫,這篇文章主要介紹了axios攔截器、ElementUI組件的使用方法,需要的朋友可以參考下
    2023-01-01
  • JavaScript中的全局對象介紹

    JavaScript中的全局對象介紹

    這篇文章主要介紹了JavaScript中的全局對象介紹,對于任何JavaScript程序,當程序開始運行時,JavaScript解釋器都會初始化一個全局對象以供程序使用,需要的朋友可以參考下
    2015-01-01
  • JavaScript輪播停留效果的實現(xiàn)思路

    JavaScript輪播停留效果的實現(xiàn)思路

    輪播停留與無線滾動十分類似,都是利用屬性及變量控制移動實現(xiàn)輪播。下面通過本文給大家分享JavaScript輪播停留效果的實現(xiàn)思路,感興趣的朋友一起看看吧
    2018-05-05
  • 強大的JavaScript響應(yīng)式圖表Chartist.js的使用

    強大的JavaScript響應(yīng)式圖表Chartist.js的使用

    本篇文章主要介紹了強大的JavaScript響應(yīng)式圖表Chartist.js的使用,具有一定的參考價值,有興趣的可以了解一下
    2017-09-09

最新評論