溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

[置頂]       銀行MIS系統(tǒng)前臺開發(fā)總結(jié)(3)-dataTable控件應用2

發(fā)布時間:2020-06-08 10:28:29 來源:網(wǎng)絡(luò) 閱讀:509 作者:873582595 欄目:web開發(fā)

 其實上次我都不好意思說我用了dataTable這個控件,就用到了加載數(shù)據(jù),其實很簡單,用個ajax把所有用json傳過來的數(shù)據(jù)都放入table里面就可以了,稍微顯得困難點的也就是動態(tài)增加表頭,也沒用到什么高深的。現(xiàn)在想來當初有點裝逼了,估計過一段時候再看看這篇文章,估計又得套上裝逼的嫌疑,索性把這叫做進步吧。

       那現(xiàn)在這一篇算是我對dataTable這個控件的第二次較高深的應用吧,為了方便讀者,我先把這次的主要內(nèi)容說明如下:

  1. 動態(tài)增加一行數(shù)據(jù)
  2. 選擇一行,并將這一行的所有數(shù)據(jù)取出
  3. 提交更新的數(shù)據(jù)

  看起來很簡單吧,其實怪我學的不是很好,也不是很難啦。也就跟大家分享一下,最后我會給出國外dataTable官網(wǎng)上一個比較好的例子。

  先簡單的給一些圖,看看效果吧。

[置頂]          銀行MIS系統(tǒng)前臺開發(fā)總結(jié)(3)-dataTable控件應用2

圖 1-1 主頁面

[置頂]          銀行MIS系統(tǒng)前臺開發(fā)總結(jié)(3)-dataTable控件應用2

圖 1-2 點擊新增或修改按鈕

[置頂]          銀行MIS系統(tǒng)前臺開發(fā)總結(jié)(3)-dataTable控件應用2

圖1-3 添加了一些數(shù)據(jù)后的主頁面

[置頂]          銀行MIS系統(tǒng)前臺開發(fā)總結(jié)(3)-dataTable控件應用2

圖1-4 修改一列已選數(shù)據(jù)

[置頂]          銀行MIS系統(tǒng)前臺開發(fā)總結(jié)(3)-dataTable控件應用2

圖 1-5 修改數(shù)據(jù)

[置頂]          銀行MIS系統(tǒng)前臺開發(fā)總結(jié)(3)-dataTable控件應用2

                                 圖 1-6 修改數(shù)據(jù)后的主頁面

  上面是一些主要截圖,不知道大家有沒有看懂了。

     接下來說說主要代碼:

      下面這段代碼實現(xiàn)了每次只能選擇一行,并有相應的樣式顯示,如圖1-6的效果。注意第一行的unbind函數(shù),剛開始就是因為這個弄得我一陣頭大,由于剛開始沒有添加這一行,所以導致選中一行老是不成功,因為這個函數(shù)需要在每次新添加一行的時候都調(diào)用,然后導致了添加幾行綁定幾次click事件,所以要記得在最開始先取消綁定,然后再綁定事件。

[置頂]          銀行MIS系統(tǒng)前臺開發(fā)總結(jié)(3)-dataTable控件應用2
 1 function selectRow(){  2         $("#textMakeTable tbody tr").unbind("click");  3         $("#textMakeTable tbody tr").click( function( e ) {  4             if ( $(this).hasClass('row_selected') ) {  5                 $(this).removeClass('row_selected');  6             }  7             else {  8                 textMakeTable.$('tr.row_selected').removeClass('row_selected');  9                 $(this).addClass('row_selected'); 10             } 11         }); 12 }
[置頂]          銀行MIS系統(tǒng)前臺開發(fā)總結(jié)(3)-dataTable控件應用2

  這是修改之前獲得當前選中行的數(shù)據(jù)

[置頂]          銀行MIS系統(tǒng)前臺開發(fā)總結(jié)(3)-dataTable控件應用2
 1 function modifyRow(){  2     var i = 0;  3     var rowData =[];  4     $('.row_selected').find('td').each(function(){  5         rowData[i] = $(this).html();  6         i++;  7     });  8     //需要設(shè)置一些不能修改的選項,具體設(shè)置為,$('#id').attr('disable', 'disabled');同時需要注意在增加數(shù)據(jù)的函數(shù)中設(shè)置$('#id').attr('disable', true);使得其可以編輯  9     $('#textId').val(rowData[0]); 10     $('#customerId').val(rowData[1]); 11     $('#contractId').val(rowData[2]); 12     $('#accountName').val(rowData[3]); 13     $('#mobileNum').val(rowData[4]); 14     $('#identifyId').val(rowData[5]); 15     $('#conInstit').val(rowData[6]); 16     $('#belInstit').val(rowData[7]); 17     $('#contractType').val(rowData[8]);     18     $('#textId').attr('disable', 'disabled'); 19     openAddRowDialog(); 20     modifyFlag = 1; 21 }
[置頂]          銀行MIS系統(tǒng)前臺開發(fā)總結(jié)(3)-dataTable控件應用2
[置頂]          銀行MIS系統(tǒng)前臺開發(fā)總結(jié)(3)-dataTable控件應用2
//這是增加一行的主要代碼,隱藏了部分無關(guān)緊要的數(shù)據(jù)獲取,ajax實現(xiàn),值得說明的是,通過我這種方法向后臺傳送了數(shù)據(jù),而且不刷新表格,只是動態(tài)的增加了一行。 1 function addRowData(){ 2     textMakeTable.dataTable().fnAddData([ 3         textId,customerId,contractId,accountName,mobileNum,identifyId,conInstit,belInstit,'' 4     ]); 5     selectRow();  6 /*    $.ajax({ }); 7 }
[置頂]          銀行MIS系統(tǒng)前臺開發(fā)總結(jié)(3)-dataTable控件應用2

這個就是將修改的數(shù)據(jù)顯示在表格中,然后將修改的一行數(shù)據(jù)通過ajax傳向后臺。

1 function modifyData(){ 2 $('.row_selected').find('td').each(function(){ 3         $(this).html(rowData[i]); 4         i++; 5     }); 6 }

  好了也就這些吧,看著也不難,有空做一下,應該都能實現(xiàn)的吧。

  下面列出一些網(wǎng)上,或是dataTable上實現(xiàn)的表格可編輯,大家看看吧。圖1-7 是實現(xiàn)表格可編緝,看起來很強悍,這是在DataTable控件下載下來的example/api的editable.html。個人感覺效果還行,但是功能有所不足,如果我想要實現(xiàn)單行,特殊列的不可編輯呢。而且如果我要添加一行呢,有點困難。我看過源碼,他是通過一個專門的js文件實現(xiàn)的,幾百行代碼吧。可以修改一下它的ajax。里面?zhèn)鞯?#26684;式,url都有問題,要改一下。有空我在弄弄這個吧,挺好的。

[置頂]          銀行MIS系統(tǒng)前臺開發(fā)總結(jié)(3)-dataTable控件應用2

圖 1-7 表格可編輯

  http://editor.datatables.net/  這個比較強悍吧,但是很可惜,要money,而且很貴。我做的和它實現(xiàn)的效果差不多,也是通過選中一行,然后修改。挺像的,就是一個地方還沒有實現(xiàn),把鼠標形狀變?yōu)槭中?。刪除的話也很好做的。

[置頂]          銀行MIS系統(tǒng)前臺開發(fā)總結(jié)(3)-dataTable控件應用2

圖 1- 8 表格可編輯2

[置頂]          銀行MIS系統(tǒng)前臺開發(fā)總結(jié)(3)-dataTable控件應用2

圖 1-9 選中一行,然后點edit

  好了,有關(guān)于dataTable的就是這些,然后說說最近的一些感受吧,css挺有用的,就比分這次的選中,然后最近也在專研這個,然后么,前臺挺有意思的,但是也挺煩的,今天差不多都在忙這個了。挺惡心的。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI