999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

自定義計算Datatable表格數據的通用模塊設計與實現

2023-07-26 09:13:22李琦陳柳洲劉磊韓睿
電腦知識與技術 2023年16期
關鍵詞:頁面用戶功能

李琦,陳柳洲,劉磊,韓睿

(中電科蓉威電子技術有限公司,四川 成都 610031)

0 引言

在互聯網技術不斷進步和企業信息化建設水平發展的背景下,基于B/S 架構下的Web 項目開發已成為主流技術[1]。在實際開發過程中,數據呈現是大多數系統必備的功能,Datatable 表格工具便是一款當前使用較為廣泛的解決方案,具備按行列顯示表格數據、分頁、篩選和排序等功能[2]。現有的Datatable表格插件中,如果表格內容顯示為數字,當需要按照表頭計算該列每行數據時,無法自定義選擇某列、某幾列或全選列,以實現對所選列項的每行數據進行相應計算,并顯示在對應位置。現有的技術方案無法根據需求變化,靈活選擇Datatable表格列項,實際操作性、便捷性不強,影響用戶體驗。針對目前背景技術中提出的問題,本文提供了一種自定義計算Datatable表格數據的方法,通過修改、完善原Datatable 的JavaScript 代碼,以調用函數的方式,應用于HTML顯示界面,使用戶可以在操作界面根據實際使用需求解決上述問題。

1 流程設計

依據基于jQuery的組件設計通用思路,在此基礎上拓展Datatable 表格插件功能方法[3]。首先在HTML頁面,使用grid 網格控件搭建table 表格,完成table 表格的初始建立,搭建基本框架,并在JavaScript 中綁定基于jQuery的Datatable 組件,實現Datatable 基本表格顯示功能。給table 表格新增一個<thead>表頭標簽,命名為“合計”,并為該表頭標簽添加class="checkbox-All"自定義屬性類;同時給table表格所有<thead>表頭標簽添加<input type="checkbox">表單標簽,以提供選項框。給table 表格新增<tbody>表格主體內容,存放計算后的數據。通過JavaScript獲取table表格的唯一標識id;并給class="checkboxAll"屬性類綁定click 點擊事件,以實現用戶在操作界面點擊“合計”<thead>表頭標簽的選中框,可以全選table表格中所有列或全不選所有列,同時獲取選擇列的行數據,計算并顯示在“合計”列。流程設計圖如圖1所示。

圖1 流程設計圖

其中,JavaScript 簡稱JS,是一種具有函數優先的輕量級,解釋型或即時編譯型的編程語言,作用是:嵌入動態文本于HTML頁面,對用戶操作瀏覽器事件作出響應,實現相關功能[4]。CSS 是指層疊樣式表,作用是:描述HTML 文檔樣式,本文是通過調用原有的Datatable的CSS樣式,將表格顯示出來[5]。

本文設計并實現的通用模塊可以使用戶在頁面上,根據實際使用需求,僅通過點擊按鈕的方式,靈活選擇某表頭或某幾個表頭或全選表頭,即可對所選表頭的每行數據進行計算,并顯示在相應位置。

2 技術方案

除了基本的顯示、分頁、排序、搜索功能外,基于jQuery 的Datatable 組件還支持擴展和二次開發,以實現更加靈活的定制化功能。本文通過編寫Datatable組件的JavaScript 代碼,實現相關拓展功能,并輔以CSS 層疊樣式表,為HTML 頁面添加更多的功能和樣式。基于上述流程設計的詳細技術方案如下:

1) 在HTML頁面完成table表格的初始建立,加載table表格的網格控件grid,包括:<thead>表頭標簽和<tbody>表格內容;給table表格所有<thead>表頭標簽添加<input type="checkbox">表單標簽,實現通過以選擇框的形式可對該列進行勾選選擇;添加table表格的唯一標識id,并添加jQuery 表格插件Datatable 的JS 和CSS,實現Datatable 插件基礎功能,如:顯示、語言設置、分頁、排序、搜索等。

2) 給table表格新增<thead>表頭標簽,命名為“合計”,添加<input type="checkbox">表單標簽,實現可對該列的選擇框進行選擇與取消,同時為其添加自定義類屬性:class="checkboxAll";其中,checkbox 類型的 <input> 元素在默認情況下呈現為激活時被選中(打鉤)的方框,即為選中框。

3) 給table 表格新增<tbody>表格內容,用以存放計算后的數據,同時為其添加自定義類屬性:class="totalData",與第2步中的新增<thead>表頭標簽對應,便于查找、存放數據。

4) 在JavaScript 中,通過函數document.getElementById()查找table 表格的唯一標識id,獲取table 表格的對象tableId,此處可以根據用戶習慣命名。

5) 在JavaScript 中,通過給屬性類class="checkboxAll"綁定click 點擊事件,實現點擊“合計”<thead>的選中框,即可實現全選所有列或全不選所有列:通過給相關具有check 屬性的表頭標簽賦值true($("input[type='checkbox']").attr({"checked":true})) ,實現全選所有列;通過給相關具有check 屬性的表頭標簽賦值 false($("input[type= 'checkbox']"). attr({"checked":false})) ,實現全不選所有列。其中,.attr()為相關屬性("input[type='checkbox']") 賦狀態(true/false) ,分別表達打勾和去勾;給HTML 頁面上所有的"input[type='checkbox']"綁定change觸發事件,實現當頁面任意選中框發生變化時(即選中/不選中狀態變化時),在JavaScript 中動態獲取每一列的行數據,并按列項分別保存至對應數組。

6) 獲取選擇列項的行數據,計算并顯示在“合計”列。由于用戶自定義選擇列項的隨機性,可在Java-Script 中申明動態數組cellData = {},根據選擇列項的多少動態分配數組空間;通過查找"input[type='checkbox']"類屬性,給其綁定change 觸發事件,針對在HTML 頁面所有的"input[type='checkbox']"類屬性狀態變化時觸發,實現當頁面任意選中框發生變化時,即選中/不選中狀態變化時,可以動態獲取每一列的行數據,并按列項分別保存至對應數組:①通過獲取的table 表格對象,得到該table 表格對象的列數:tableId.rows[0].cells.length;②遍歷獲取對象的列數,調用之前申明的動態數組cellData{},動態分配與列數相同的數組:cellData[array];③利用選項屬性標識check,查看table 表格的每一列是否被選中:if(tableId.rows[0].cells[].children[0].checked,此處返回true 或false;④遍歷選中的列,獲取每一個選中列的行數據:tableId.rows[].cells[].innerHTML,并將行數據按列存放至數組cellData[array]中;⑤根據計算需求,遍歷每一個cellData[array]數組,對每一個數組按元素順序進行計算,并保存至存放結果的數組中totalData[];⑥將totalData[]按順序賦值給類屬性為class="totalData"的<tbody>表單內容標簽以顯示:$($(".totalData")[]).HTML(totalData[])。

任意勾選表頭選擇框,實現對該勾選列每行數據進行計算,并顯示在對應“合計”列,如圖2、圖3所示。

圖2 自定義列計算

圖3 自定義列計算

點擊“合計”表頭選擇框,實現對table表格所有表頭的全選,并對選擇列的每行數據進行計算,并將結果顯示在“合計”列的對應行,如圖4所示。

圖4 全選列計算

3 核心代碼實現

根據上述流程設計和技術方案實現思路,針對自定義計算Datatable 表格數據功能實現,編寫了基于jQuery的Datatable組件JavaScript代碼,顯示如下:

4 分析總結

綜上所述,Datatable 是一個強大且靈活的表格組件,可以為Web開發項目提供很大的幫助。通過對其進行擴展和二次開發,可以實現更加定制化的功能,滿足特定業務需求。在實際開發中,用戶可以根據具體需求采取不同的措施來優化Datatable 的功能和性能,以提高用戶體驗和項目效率。

猜你喜歡
頁面用戶功能
大狗熊在睡覺
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
關于非首都功能疏解的幾點思考
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
如何獲取一億海外用戶
創業家(2015年5期)2015-02-27 07:53:25
中西醫結合治療甲狀腺功能亢進癥31例
辨證施護在輕度認知功能損害中的應用
主站蜘蛛池模板: 亚洲第一精品福利| 国产成人无码AV在线播放动漫| 亚洲V日韩V无码一区二区| 欧美国产中文| 国产青榴视频| 亚洲精品色AV无码看| 2018日日摸夜夜添狠狠躁| 欧美性久久久久| 88国产经典欧美一区二区三区| 亚洲一区网站| 高清无码手机在线观看| 波多野结衣AV无码久久一区| 九九热视频精品在线| 国产欧美成人不卡视频| 国产精品美女自慰喷水| 亚洲欧美成人综合| 亚洲天堂在线免费| 亚洲成人网在线播放| 欧美有码在线| 原味小视频在线www国产| 视频在线观看一区二区| 亚洲婷婷丁香| 秋霞国产在线| 久草视频中文| 欧美h在线观看| 国产丝袜无码一区二区视频| 中文国产成人精品久久| 国产成人凹凸视频在线| 国产永久无码观看在线| 中文成人在线| 国产女人水多毛片18| 日韩高清欧美| 国内精自线i品一区202| 亚洲综合精品香蕉久久网| 成年A级毛片| 在线观看av永久| a免费毛片在线播放| 在线看片免费人成视久网下载| 国产在线精品网址你懂的| 久久美女精品| 日本一区二区三区精品AⅤ| 国产成人综合日韩精品无码首页| 国产经典免费播放视频| 97在线碰| 日本三级欧美三级| 波多野结衣一区二区三区四区视频 | 亚洲精品日产精品乱码不卡| 亚洲天天更新| 成年人视频一区二区| 亚洲综合香蕉| 久久午夜夜伦鲁鲁片不卡| 草草影院国产第一页| 国产第二十一页| 免费国产高清视频| 免费高清毛片| 国产欧美高清| 天堂av综合网| 精品一区二区三区自慰喷水| 无码aⅴ精品一区二区三区| 666精品国产精品亚洲| 亚洲国产成熟视频在线多多| 呦女亚洲一区精品| 国产精品美女网站| 国产美女91呻吟求| 91色在线观看| 国产免费羞羞视频| 亚洲欧美国产高清va在线播放| 久久男人视频| 国产精品私拍在线爆乳| 欧美色图久久| 成人蜜桃网| 丰满的少妇人妻无码区| 欧美精品一二三区| 爱色欧美亚洲综合图区| 亚洲h视频在线| 亚洲日韩精品欧美中文字幕| 一本大道香蕉高清久久| 国产成人高清精品免费| 日韩无码视频网站| 一本大道香蕉高清久久| 国产手机在线观看| 丁香五月激情图片|