茄子在线看片免费人成视频,午夜福利精品a在线观看,国产高清自产拍在线观看,久久综合久久狠狠综合

    <s id="ddbnn"></s>
  • <sub id="ddbnn"><ol id="ddbnn"></ol></sub>

  • <legend id="ddbnn"></legend><s id="ddbnn"></s>

    JavaScript實現(xiàn)增刪改查功能
    來源:易賢網(wǎng) 閱讀:2844 次 日期:2015-04-17 10:33:19
    溫馨提示:易賢網(wǎng)小編為您整理了“JavaScript實現(xiàn)增刪改查功能”,方便廣大網(wǎng)友查閱!

    JavaScript實現(xiàn)增刪改查功能,具體代碼如下:

    //1.創(chuàng)建受捐單位數(shù)組

    var arrOrgData = [

    { "Id": 1, "OrgName": "紅十字會" },

    { "Id": 2, "OrgName": "壹基金" },

    { "Id": 3, "OrgName": "中華慈善總會" },

    { "Id": 4, "OrgName": "中國扶貧基金會" }

    ];

    //1-1.根據(jù)受捐單位id,返回受捐單位元素,動態(tài)綁定(定義)方法

    arrOrgData.getOrgById = function (id) {

    for (var i = 0; i < this.length; i++) {

    if (this[i].Id == id) {

    return this[i];

    };

    };

    };

    //2.詳細捐贈信息數(shù)組

    var arrDetailData = [

    { "Id": 1, "Name": "成龍", "OrgId": 1, "Money": "1000", "Time": "2013 - 07 - 08" },

    { "Id": 2, "Name": "肥龍", "OrgId": 2, "Money": "2000", "Time": "2013 - 07 - 08" },

    { "Id": 3, "Name": "瘦龍", "OrgId": 3, "Money": "3000", "Time": "2013 - 07 - 08" },

    { "Id": 4, "Name": "傻龍", "OrgId": 4, "Money": "4000", "Time": "2013 - 07 - 08" }

    ];

    //2.1.根據(jù)id刪除數(shù)組元素

    arrDetailData.deleteById = function (id) {

    for (var i = 0; i < this.length; i++) {

    if (this[i].Id == id) {

    //元素前移

    for (var j = i; j < this.length - 1; j++) {

    this[j] = this[j + 1];

    };

    //數(shù)組長度--

    this.length--;

    break;

    };

    };

    };

    //2-2.更新數(shù)據(jù),model-修改后的對象

    arrDetailData.update = function (model) {

    for (var i = 0; i < this.length; i++) {

    if (this[i].Id == model.Id) {

    this[i] = model;

    break;

    };

    };

    };

    //2-3.新增數(shù)據(jù),并返回新增的元素

    var modelId=arrDetailData.length;//定義變量,存儲數(shù)組元素的Id

    arrDetailData.addModel = function (model) {

    modelId++;//每次添加序號++

    model.Id = modelId;//設置添加對象的Id

    this[this.length] = model;//數(shù)組元素++,在length

    return model;

    };

    //2-4.根據(jù)捐贈單位Id返回數(shù)組

    arrDetailData.getSearchData = function (id) {

    if(id==-1){//id為-1返回所有數(shù)據(jù)

    return this;

    };

    //定義存儲查詢數(shù)據(jù)的數(shù)組

    var arrSearch = new Array();

    for (var i = 0; i < this.length; i++) {

    if(this[i].OrgId==id){//判斷OrgId是否符合條件

    arrSearch[arrSearch.length]=this[i];

    };

    };

    return arrSearch;

    };

    //2-5.返回一頁數(shù)據(jù)

    arrDetailData.pageIndex = 1;//頁碼

    arrDetailData.pageCount = 5;//每頁記錄條數(shù)

    arrDetailData.pages=0;//總頁數(shù)

    //返回第pageIndex頁數(shù)據(jù)

    arrDetailData.getPageData = function () {

    var pageData = new Array();//定義數(shù)組存儲一頁數(shù)據(jù)

    for (var i = (this.pageIndex - 1) * this.pageCount; i < this.pageIndex * this.pageCount; i++) {//獲取第pageIndex頁數(shù)據(jù)

    //alert(this[i]);

    if (this[i]) {//判斷this[i]是否undefined,過濾掉

    pageData[pageData.length] = this[i];

    };

    }

    return pageData;

    };

    //3.加載受捐單位信息,element-傳入select對象

    function loadOrgData(element) {

    for (var i = 0; i < arrOrgData.length; i++) {

    var opt = new Option(arrOrgData[i].OrgName, arrDetailData[i].Id);

    element.options.add(opt);

    };

    };

    //4.加載表數(shù)據(jù)(詳細信息)

    function loadDetailData() {

    for (var i = 0; i < arrDetailData.length; i++) {

    addTr(arrDetailData[i]);

    }

    };

    //4-1.加載表數(shù)據(jù),arr數(shù)組數(shù)據(jù)

    function loadDataToTb(arr) {

    for (var i = 0; i < arr.length; i++) {

    addTr(arr[i]);

    };

    };

    //4-1.插入一行,model-數(shù)組元素

    function addTr(model) {

    var tb = getElement("tbList");//獲得表對象

    var tr = tb.insertRow(-1);//插入一行

    tr.insertCell(-1).innerHTML = model.Id;//插入序號列

    tr.insertCell(-1).innerHTML = model.Name;//插入名稱列

    var td = tr.insertCell(-1);//插入OrgId列

    td.setAttribute("OrgId", model.OrgId);//保存OrgId到td的OrgId屬性(自定義)

    td.innerHTML = arrOrgData.getOrgById(model.OrgId).OrgName;//設置捐贈單位名稱

    tr.insertCell(-1).innerHTML = model.Money;//插入金額列

    tr.insertCell(-1).innerHTML = model.Time;//插入捐贈時間列

    tr.insertCell(-1).innerHTML = "<a href='#' onclick='setUpdateState(this)'>修改</a>&nbsp;&nbsp;<a href='#' onclick='deleteRow(this)'>刪除</a>";//操作列

    };

    //5.根據(jù)標簽id獲得標簽對象

    function getElement(id) {

    return document.getElementById(id);

    };

    //6.刪除行,element-當前點擊de

    function deleteRow(element) {

    if (GlobalUpdateTr != null) {//判斷當前是否修改狀態(tài)

    rollBack(GlobalUpdateTr);

    };

    if (!confirm("確定刪除嗎?")) {//確認是否要移除

    return;

    };

    var delTr = element.parentNode.parentNode;//獲取刪除行

    delTr.parentNode.removeChild(delTr);//移除行

    arrDetailData.deleteById(delTr.childNodes[0].innerHTML);//刪除對應的數(shù)組元素

    };

    //7.修改行

    //7-1.定義全局變量,三個文本框一個下拉列表,一個存儲修改行的變量GlobalUpdateTr,標記修改狀態(tài)

    var inputPersonName = document.createElement("input");//捐贈人名稱

    inputPersonName.type = "text";

    var inputMoney = document.createElement("input");//捐贈金額

    inputMoney.type = "text";

    var inputTime = document.createElement("input");//捐贈時間

    inputTime.type = "text";

    var selectOrg = document.createElement("select");//受捐單位下拉列表

    var GlobalUpdateTr = null;//存儲修改行,標記是否修改狀態(tài)

    //7.2.設置當前行,為修改狀態(tài),obj-當前點擊對象

    function setUpdateState(element) {

    if (GlobalUpdateTr != null) {//判斷是否已經(jīng)在修改狀態(tài)

    rollBack(GlobalUpdateTr);//還原

    };

    GlobalUpdateTr = element.parentNode.parentNode;//獲得當前修改行

    txtToInput(GlobalUpdateTr.childNodes[1], inputPersonName);

    txtToInput(GlobalUpdateTr.childNodes[3], inputMoney);

    txtToInput(GlobalUpdateTr.childNodes[4], inputTime);

    txtToSelect(GlobalUpdateTr.childNodes[2], selectOrg);

    GlobalUpdateTr.childNodes[5].innerHTML = "<a href='#' onclick='update(this)'>確定</a>&nbsp;&nbsp;<a href='#' onclick='exitUpdateState(this)'>取消</a>";//設置操作列

    };

    //7-2-1.當前行設置為修改狀態(tài)(文本設為文本框)(td:列,element:文本框)

    function txtToInput(td,element) {

    element.value = td.innerHTML;//設置obj的值

    td.setAttribute("oldValue",td.innerHTML);//保存td的文本值,取消修改時要取的值

    td.appendChild(element);//往列td添加obj

    if (td.childNodes[1]) {//判斷是否有文本節(jié)點

    td.removeChild(td.childNodes[0]);//移除td的文本節(jié)點

    };

    };

    //7-2-2.當前行設置為修改狀態(tài)(文本設為下拉列)(td:列,element:下拉列)

    function txtToSelect(td, element) {

    td.appendChild(element);

    td.removeChild(td.childNodes[0]);

    element.value = td.getAttribute("OrgId");

    };

    //7-3.取消修改,恢復界面,退出修改操作狀態(tài),element-當前點擊對象

    function exitUpdateState(element) {

    var cancelTr = element.parentNode.parentNode;//取得當前行

    rollBack(cancelTr);

    //退出修改狀態(tài)

    GlobalUpdateTr = null;

    };

    //還原,obj-當前修改行/之前的修改行

    function rollBack(element) {

    element.childNodes[1].innerHTML = element.childNodes[1].getAttribute("oldValue");//恢復原來的文本值(名稱)

    element.childNodes[3].innerHTML = element.childNodes[3].getAttribute("oldValue");//恢復原來的文本值(金額)

    element.childNodes[4].innerHTML = element.childNodes[4].getAttribute("oldValue");//恢復原來的文本值(日期)

    element.childNodes[2].removeChild(selectOrg);//移除下拉列

    var orgId = element.childNodes[2].getAttribute("OrgId");//取得捐贈單位id

    element.childNodes[2].innerHTML = arrOrgData.getOrgById(orgId).OrgName;//恢復原來的文本值(捐贈單位)

    element.childNodes[5].innerHTML = "<a href='#' onclick='setUpdateState(this)'>修改</a>&nbsp;&nbsp;<a href='#' onclick='deleteRow(this)'>刪除</a>";//恢復操作列

    };

    //7-4.確定修改,更新界面,更新數(shù)據(jù),修改完畢退出修改狀態(tài),element-當前點擊對象

    function update(element) {

    var updateTr = element.parentNode.parentNode;//取得當前行

    //更新界面

    updateTr.childNodes[1].innerHTML = inputPersonName.value;

    updateTr.childNodes[3].innerHTML = inputMoney.value;

    updateTr.childNodes[4].innerHTML = inputTime.value;

    updateTr.childNodes[2].removeChild(selectOrg);

    updateTr.childNodes[2].innerHTML = arrOrgData.getOrgById(selectOrg.value).OrgName;

    updateTr.childNodes[2].setAttribute("OrgId", selectOrg.value);//更新OrgId

    updateTr.childNodes[5].innerHTML = "<a href='#' onclick='setUpdateState(this)'>修改</a>&nbsp;&nbsp;<a href='#' onclick='deleteRow(this)'>刪除</a>";//恢復操作列

    //更新數(shù)據(jù)

    //下拉列表的value值就是下拉列表當前選項的value值

    var model = { "Id": updateTr.childNodes[0].innerHTML, "Name": inputPersonName.value, "OrgId": selectOrg.value, "Money": inputMoney.value, "Time": inputTime.value };//創(chuàng)建與當前行數(shù)據(jù)對應的對象

    arrDetailData.update(model);//更新數(shù)組

    //退出修改狀態(tài)

    GlobalUpdateTr = null;

    };

    //-------窗口加載完畢觸發(fā)--------//

    window.onload = function () {

    //1.加載arrOrgData(to下拉列)

    loadOrgData(getElement("selSearchOrg"));

    loadOrgData(getElement("selAddOrg"));

    loadOrgData(selectOrg);

    //2.加載arrDetailData(to表)

    loadDetailData();

    //3.新增

    getElement("btnAdd").onclick = function () {

    var model = {"Name": getElement("txtName").value, "OrgId": getElement("selAddOrg").value, "Money": getElement("txtMoney").value, "Time": getElement("txtDate").value };//創(chuàng)建一個新數(shù)組元素對象

    model = arrDetailData.addModel(model);//返回新增的元素

    addTr(model);//插入新行到表顯示

    };

    //4.查詢(先刪除當前界面所有行,再添加)

    getElement("btnSearch").onclick = function () {

    var tbList = getElement("tbList");//獲得表

    for (var i = tbList.rows.length - 1; i >= 1; i--) {//遍歷刪除表的行,從末端開始

    tbList.deleteRow(i);//刪除一行

    }

    var searchId = getElement("selSearchOrg").value;//要查詢的捐贈單位id

    var arrSearchData = arrDetailData.getSearchData(searchId);//得到查詢數(shù)據(jù)

    loadDataToTb(arrSearchData);//(加載)顯示查詢數(shù)據(jù)

    };

    //5.分頁(先刪除當前界面所有行,再添加)

    //5-1.下一頁

    getElement("btnnextPage").onclick = function () {

    if (arrDetailData.length == 0) {

    alert("沒有數(shù)據(jù)");

    };

    //獲取總頁數(shù)

    arrDetailData.pages = arrDetailData.length % arrDetailData.pageCount != 0 ? (arrDetailData.length - arrDetailData.length % arrDetailData.pageCount) / arrDetailData.pageCount + 1 : arrDetailData.length / arrDetailData.pageCount;

    if (arrDetailData.pageIndex == arrDetailData.pages) {//判斷是否最后一頁

    alert("最后一頁啦");

    return;//返回

    };

    var tbList = getElement("tbList");//獲得表對象

    for (var i= tbList.rows.length-1;i>=1; i--) {//刪除表所有行

    tbList.deleteRow(i);

    }

    arrDetailData.pageIndex++;//頁碼++,取得下一頁

    var arrPage = arrDetailData.getPageData();//獲得一頁數(shù)據(jù)

    loadDataToTb(arrPage);//加載顯示到表

    };

    //5-2.上一頁

    getElement("btnprePage").onclick = function () {

    if (arrDetailData.length == 0) {

    alert("沒有數(shù)據(jù)");

    };

    //獲取總頁數(shù)

    arrDetailData.pages = arrDetailData.length % arrDetailData.pageCount != 0 ? (arrDetailData.length - arrDetailData.length % arrDetailData.pageCount) / arrDetailData.pageCount + 1 : arrDetailData.length / arrDetailData.pageCount;

    if(arrDetailData.pageIndex==1){//判斷是否第一頁

    alert("這個第一頁");

    return;

    };

    var tbList = getElement("tbList");//獲得表對象

    for (var i = tbList.rows.length - 1; i >= 1; i--) {//刪除表所有行

    tbList.deleteRow(i);

    }

    arrDetailData.pageIndex--;//頁碼--,取得上一頁

    var arrPage = arrDetailData.getPageData();//獲得一頁數(shù)據(jù)

    loadDataToTb(arrPage);//加載顯示到表

    };

    };

    更多信息請查看IT技術(shù)專欄

    更多信息請查看腳本欄目
    易賢網(wǎng)手機網(wǎng)站地址:JavaScript實現(xiàn)增刪改查功能

    2026國考·省考課程試聽報名

    • 報班類型
    • 姓名
    • 手機號
    • 驗證碼
    關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
    工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)