基於jquery-1.10.1的添加刪除記錄功能

来源:http://www.cnblogs.com/fearclear/archive/2016/10/10/5947297.html
-Advertisement-
Play Games

基於jquery-1.10.1的添加刪除員工的一個簡單的HTML界面 ...


最近在瞭解有關於jQuery的東西,學習一番之後做了一個簡單的添加刪除記錄的功能。

功能說明:

  1. 點擊'Submit', 根據輸入的信息在表單中生成一行員工信息(包含正則驗證)

  2. 點擊Delete鏈接, 提示刪除當前行信息, 點擊確定後刪除信息

  3. 點擊'全選': 選中所有員工

  4. 點擊'全不選': 取消選擇所有員工

  5. 點擊'反選': 改變所有員工的勾選狀態

  6. 點擊'刪除': 提示是否一鍵刪除,確認則全部刪除,取消則逐個刪除

  7. 點擊'表頭覆選框': 選中所有員工, 或者全不選中

  8. 點擊某個員工前的覆選框時,更新'表頭覆選框'的選中狀態

額外功能:

  1. 被選中的員工的三欄信息用text-decoration設置刪除線

  2. 滑鼠滑過的表單行背景顏色改為預設的顏色

  3. 'submit'提交後原欄目內容清空

 

  1 <!DOCTYPE html>
  2 <html>
  3 <!-- 基於jQuery的添加刪除記錄表格 -->
  4 
  5 <head>
  6     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  7     <title>添加刪除記錄練習</title>
  8     <style type="text/css" charset="utf-8">
  9         #total {
 10             width: 450px;
 11             margin-left: auto;
 12             margin-right: auto;
 13             }
 14 
 15         ul {
 16             list-style-type: none;
 17         }
 18 
 19         li {
 20             border-style: solid;
 21             border-width: 1px;
 22             padding: 5px;
 23             margin: 5px;
 24             background-color: #99ff99;
 25             float: left;
 26         }
 27 
 28         .inner {
 29             width: 400px;
 30             border-style: solid;
 31             border-width: 1px;
 32             margin: 10px;
 33             padding: 10px;
 34             float: left;
 35         }
 36 
 37         #employeeTable {
 38             border-spacing: 1px;
 39             margin: 80px auto 10px auto;
 40         }
 41         
 42         th {
 43             background-color: white;
 44         }
 45 
 46         #formDiv,
 47         .button{
 48             width: 250px;
 49             border-style: solid;
 50             border-width: 1px;
 51             margin: 50px auto 10px auto;
 52             padding: 10px;
 53         }
 54 
 55         #formDiv input {
 56             width: 100%;
 57         }
 58 
 59         .word {
 60             width: 40px;
 61         }
 62 
 63         .inp {
 64             width: 200px;
 65         }
 66         #employeeTable, #employeeTable th, #employeeTable td{
 67             border: 1px solid;
 68             border-spacing: 0;
 69 
 70         }
 71     </style>
 72 </head>
 73 <body>
 74 
 75     <table id="employeeTable">
 76         <tr>
 77             <th class="checkAllBox"><input type="checkbox" name="" id="checkedAllBox"></th>
 78             <th>Name</th>
 79             <th>Email</th>
 80             <th>Salary</th>
 81             <th>&nbsp;</th>
 82         </tr>
 83         <tr>
 84             <td><input type="checkbox" name="items" id=""></td>
 85             <td>Tom</td>
 86             <td>[email protected]</td>
 87             <td>5000</td>
 88             <td><a href="deleteEmp?id=001">Delete</a></td>
 89         </tr>
 90         <tr>
 91             <td><input type="checkbox" name="items" id=""></td>
 92             <td>Jerry</td>
 93             <td>[email protected]</td>
 94             <td>8000</td>
 95             <td><a href="deleteEmp?id=002">Delete</a></td>
 96         </tr>
 97         <tr>
 98             <td><input type="checkbox" name="items" id=""></td>
 99             <td>Bob</td>
100             <td>[email protected]</td>
101             <td>10000</td>
102             <td><a href="deleteEmp?id=003">Delete</a></td>
103         </tr>
104     </table>
105 
106     <div class="button">
107     <input type="button" id="checkedAllBtn" value="全 選" />
108     <input type="button" id="checkedNoBtn" value="全不選" />
109     <input type="button" id="checkedRevBtn" value="反 選" />
110     <input type="button" id="sendBtn" value="刪 除" />
111     </div>
112 
113 
114     <div id="formDiv">
115 
116         <h4>添加新員工</h4>
117 
118         <table>
119             <tr>
120                 <td class="word">name: </td>
121                 <td class="inp">
122                     <input type="text" name="empName" id="empName" />
123                 </td>
124             </tr>
125             <tr>
126                 <td class="word">email: </td>
127                 <td class="inp">
128                     <input type="text" name="email" id="email" />
129                 </td>
130             </tr>
131             <tr>
132                 <td class="word">salary: </td>
133                 <td class="inp">
134                     <input type="text" name="salary" id="salary" />
135                 </td>
136             </tr>
137             <tr>
138                 <td colspan="2" align="center">
139                     <button id="addEmpButton" value="abc">
140                         Submit
141                     </button>
142                 </td>
143             </tr>
144         </table>
145     </div>
146     <script src="js/jquery-1.10.1.js" type="text/javascript" charset="utf-8"></script>
147     <script type="text/javascript">
148         /*
149          功能說明:
150              1. 點擊'Submit', 根據輸入的信息在表單中生成一行員工信息
151              2. 點擊Delete鏈接, 提示刪除當前行信息, 點擊確定後刪除信息
152              3. 點擊'全選': 選中所有員工
153              4. 點擊'全不選': 所有員工都不勾選
154              5. 點擊'反選': 改變所有員工的勾選狀態
155              6. 點擊'刪除': 提示是否一鍵刪除,確認則全部刪除,取消則逐個刪除
156              7. 點擊'表頭覆選框': 選中所有員工, 或者全不選中
157              8. 點擊某個員工前的覆選框時,更新'表頭覆選框'的選中狀態
158          */
159         var $empName = $('#empName');
160         var $email = $('#email');
161         var $salary = $('#salary');
162 /*********************覆選框定義**************************************/
163         var $checkedAllBox = $('#checkedAllBox');
164         var $checkedAllBtn = $('#checkedAllBtn');
165         var $checkedNoBtn = $('#checkedNoBtn');
166         var $checkedRevBtn = $('#checkedRevBtn');
167         var $sendBtn = $('#sendBtn');
168         var $items;
169 
170 /******************************添加新員工********************************************/
171         $('a').click(deleteItem);
172         function deleteItem(){
173             var $item = $(this).parent().parent();
174             var name = $item.children('td:eq(1)').html();
175             if(confirm('您確定刪除' + name + '麽?')){
176                 $item.remove();
177             }
178             return false;
179         }
180 
181         $('#addEmpButton').click(function(){
182             var empNameConfirm = /^[A-Za-z]+$/.test($empName.val());
183             var emailConfirm = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test($email.val());
184             var salaryConfirm = /^[0-9]+$/.test($salary.val());
185             if(!empNameConfirm){
186                 alert('請輸入正確的用戶名');
187             }else if(!emailConfirm){
188                 alert('請輸入正確的郵箱');
189             }else if(!salaryConfirm){
190                 alert('請輸入正確的工資信息');
191             }else{
192                 $('<tr>')
193                         .append('<td><input type="checkbox" name="items" id=""></td>')
194                         .append('<td>' +$empName.val()+ '</td>')
195                         .append('<td>' +$email.val()+ '</td>')
196                         .append('<td>' +$salary.val()+ '</td>')
197                         .append('<td><a href="deleteEmp?id=004">Delete</a></td></tr>')
198                         .appendTo('#employeeTable')
199                         .find('a').click(deleteItem);
200                 reset();//reset函數的功能是對覆選框函數綁定進行重置
201                 $checkedAllBox.prop("checked", false);//新加入一個員工則取消全部選中狀態
202                 $empName.val('');
203                 $email.val('');
204                 $salary.val('');
205             }
206         });
207 
208 /******************************覆選框********************************************/
209         reset();
210         //定義一個reset函數來重置覆選框的綁定事件
211         function reset(){
212             $items = $('input[name = "items"]');
213             //點擊某個員工時, 必要時更新'全選/全不選'的選中狀態
214             $items.click(function(){
215                 $checkedAllBox.prop('checked', isChecked($items.filter(':checked').length));//isChecked函數用來檢測並更新覆選框狀態
216             });
217             //變色
218             $items.parent().parent().hover(function(){
219                 $(this).css('background-color', '#ffa');
220                 color();
221             }, function(){
222                 $(this).css('background-color', ''	   

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、簡介 這個示例展示了百度地圖的基本使用,並增加了一個自定義彈出的標示。這個標示是一個自定義的label,裡面是地點的文字描述。因為這個組件需要根據應用app的包名去申請不同的key,所以提供一個可調試的調試包二維碼(相關討論)。 二、效果圖 三、相關下載 https://github.com/d ...
  • 線上實例 使用方法 下載 ...
  • 拿QQ圖標來說事 1.將紅色和灰色的QQ圖標放到一個PNG圖片里,通過background-position、over:hidden來控製圖標的展示。 2.將QQ圖標製作成font字體,通過font-face引用字體,比如QQ圖標對應者字母A,那我可以這樣用:<span style="font-fa ...
  • 主要是受到《你不知道的JavaScript(上捲)》中,軟綁定softBind()方法啟發,當中應用了柯里化,這種方式確實剛開始不好理解,觀看了張鑫旭的博客後,才對柯里化的方式有了一點瞭解。 軟綁定代碼,如下: 軟綁定優化了硬綁定,使this指向更加靈活,可以使用隱式綁定或者顯式綁定修改this。 ...
  • 基於預設LoveGiveHeart主題更改 頁面定製CSS代碼 body{background:#171717;} body{color:#4A708B;} <!-- 子頁佈局背景 --> .postBody { padding: 15px 10px 10px 20px; -webkit-box-s ...
  • 本篇小分享,帶有一定車技的新司機上車,老司機我帶不動你,你可以帶帶我。版權歸博客園和作者本人共同所有,轉載和爬蟲請註明原文地址 博客園吳雙 www.cnblogs.com/tdws 對新司機說:JavaScript原型鏈對於你我這樣的新司機總顯得神秘不好理解,但在你成為老司機的路上,你不得不去搞一搞 ...
  • 最近一直在看關於AngularJS 2的資料,查看了網上和官網很多資料,接下來就根據官網教程步驟一步步搭建我的第一個Angular App AngularJS 2說明請參考:http://cnodejs.org/topic/55af2bc4911fb957520eacef 官網教程地址:https: ...
  • 非同步載入js文件或者非同步載入js模塊,支持所有瀏覽器,包括IE,參考至javascript高級編程 1.createScript方法用於創建一個script標簽並添加到body標簽中 2.createModule方法用於創建一個script腳本的標簽,並且如果在IE8以下的版本運行會拋出異常,在異常 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...