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

JavaScript操作table表格:遍歷、列讀取、刪除行、更新列等動(dòng)態(tài)管理

 更新時(shí)間:2025年05月17日 09:35:51   作者:明明#030  
本文詳細(xì)介紹使用JavaScript操作HTML表格的各種技巧,包括遍歷、指定列讀取、刪除行、根據(jù)按鈕更新特定列內(nèi)容,以及購(gòu)物車(chē)功能實(shí)現(xiàn),通過(guò)實(shí)例展示如何在網(wǎng)頁(yè)上動(dòng)態(tài)管理和更新表格數(shù)據(jù)

本文詳細(xì)介紹使用JavaScript操作HTML表格的各種技巧,包括遍歷、指定列讀取、刪除行、根據(jù)按鈕更新特定列內(nèi)容,以及購(gòu)物車(chē)功能實(shí)現(xiàn),通過(guò)實(shí)例展示如何在網(wǎng)頁(yè)上動(dòng)態(tài)管理和更新表格數(shù)據(jù)

1.遍歷整個(gè)table

function showtable(tableId) {
      //獲取table序號(hào)
      var tab = document.getElementById(tableId);
      //獲取行數(shù)
      var rows = tab.rows;
      //遍歷行
      for(var i=1;i<rows.length;i++){     
   //遍歷表格列
       for(var j=0;j<rows[i].cells.length;j++)
           alert("第"+(i+1)+"行,第"+(j+1)+"列的值是:"+rows[i].cells[j].innerHTML);   
              
     }
    }

2.遍歷指定的列

無(wú)論是行、列。下標(biāo)都是從0開(kāi)始。

function showRow(tableId){
     var tab = document.getElementById(tableId);
       
    for (var i = 1; i < tab.rows.length; i++) {
        //指定遍歷整個(gè)表的第3列
        alert(tab.rows[i].cells[4].innerHTML);
      }
}

3.刪除table中所有的行,但不包括表頭

function deleteCurrentRow(tableId) {
      var tb = document.getElementById(tableId);
      var rowNum = tb.rows.length;
      for (i = 1; i < rowNum; i++) {
        tb.deleteRow(i);
        rowNum = rowNum - 1;
        i = i - 1;
      }
    }

將循環(huán)中的i改為從0開(kāi)始,則刪除整個(gè)表的內(nèi)容

4.根據(jù)this屬性獲取當(dāng)前行

描述:比如每行都有一個(gè)button,點(diǎn)中button后更新特定列的內(nèi)容。

實(shí)際例子:在菜單里,點(diǎn)擊加號(hào)或者減號(hào)更改選中的菜品的數(shù)量、價(jià)格小計(jì)

效果:

代碼實(shí)現(xiàn):

//在按鈕的調(diào)用方法 onclick="add(this,'MenuTable')"
  function add(r,tabId){
      var tab=document.getElementById(tabId);  
       //根據(jù)this獲取行的下標(biāo)
      var i=r.parentNode.parentNode.rowIndex;
       //獲取這一行中數(shù)量的列,并將數(shù)量加一
      var num=tab.rows[i].cells[4].innerText;
      num=parseInt(num)+1;
      //獲取這行中單價(jià)的列,并算出結(jié)果更新小計(jì)的列
      var price=tab.rows[i].cells[3].innerText;
      var total=parseInt(num) * parseInt(price);

      tab.rows[i].cells[4].innerText=parseInt(num);
      tab.rows[i].cells[6].innerText=parseInt(total);

    }
    function reduce(r,tabId){
      var tab=document.getElementById(tabId);  
     // var tabRows=tab.rows;
      var i=r.parentNode.parentNode.rowIndex;
      var num=tab.rows[i].cells[4].innerText;
      if(parseInt(num)>0){
        num=parseInt(num)-1;
      }
  
      var price=tab.rows[i].cells[3].innerText;
      var total=parseInt(num) * parseInt(price);

      tab.rows[i].cells[4].innerText=parseInt(num);
      tab.rows[i].cells[6].innerText=parseInt(total);

    }

5.購(gòu)物車(chē)的制作

描述:將選中的菜品添加到購(gòu)物車(chē),像是小票的形式呈現(xiàn)關(guān)鍵信息

邏輯:每次點(diǎn)開(kāi)購(gòu)物車(chē)按鈕時(shí)(1)清空原有的購(gòu)物車(chē)內(nèi)容(2)插入本次選擇的菜品

效果:

代碼實(shí)現(xiàn):

1.購(gòu)物車(chē)前端的窗體制作(bootstrap)

  <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> 
   <div class="modal-dialog"> 
    <div class="modal-content"> 
     <div class="modal-header"> 
      <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button> 
      <h4 class="modal-title" id="myModalLabel">訂單</h4> 
     </div> 
     <div class="modal-body"> 
      <div class="table-responsive"> 
       <table class="table table-striped" id="shoppingCart"> 
        <thead> 
         <tr> 
          <th>圖片</th> 
          <th>菜名</th> 
          <th>數(shù)量</th> 
          <th>小計(jì)</th> 
         </tr> 
        </thead> 
        <tbody></tbody> 
       </table> 
       <h3 class="col-xs-9 text-right" id="allprice"></h3> 
       <div class="col-lg-6"> 
        <input class="form-control" required="required" placeholder="請(qǐng)輸入收貨人電話(huà)" name="phone" /> 
       </div> 
       <div class="col-lg-6"> 
        <div class="form-group"> 
         <select class="form-control" required="required" id="place" name="place">             
        </select> 
        </div> 
       </div> 
      </div> 
     </div> 
     <div class="modal-footer"> 
      <button type="button" class="btn btn-default" data-dismiss="modal">關(guān)閉</button> 
      <button type="submit" class="btn btn-primary">下單</button> 
     </div> 
    </div> 
    <!-- /.modal-content --> 

2.更新購(gòu)物車(chē)窗體信息:

 function createShoppingCart(tableId, shoppingCart) {
       //獲取大的窗體,即菜單。以及小的窗體,即購(gòu)物車(chē)
      var table = document.getElementById(tableId);
      var cart = document.getElementById(shoppingCart);

      var allprice = 0;
      for (var i = 1; i < table.rows.length; i++) {
        //如果在菜單里,某個(gè)菜品的小計(jì)大于零。也就是該菜品被選中了
        if (parseInt(table.rows[i].cells[6].innerHTML) > 0) {
          //alert(num);
           //在購(gòu)物車(chē)中插入一行
          var tr = cart.insertRow(1);
            //將菜單表里的第0、2、4、6列賦予給購(gòu)物車(chē)的0、1、2、3列
          tr.insertCell(0).innerHTML = table.rows[i].cells[0].innerHTML;
          tr.insertCell(1).innerHTML =  table.rows[i].cells[2].innerHTML;
          tr.insertCell(2).innerHTML = table.rows[i].cells[4].innerHTML;
          tr.insertCell(3).innerHTML = table.rows[i].cells[6].innerHTML;
            //計(jì)算總價(jià)并填寫(xiě)在購(gòu)物車(chē)?yán)?
          allprice = allprice + parseInt(table.rows[i].cells[6].innerHTML);
        }
      }
      document.getElementById("allprice").innerHTML = "總計(jì):" + allprice;

    }

3.前端調(diào)用部分:

onclick="deleteCurrentRow('shoppingCart');createShoppingCart('MenuTable','shoppingCart')"

6.總結(jié)

到此這篇關(guān)于JavaScript操作HTML表格:遍歷、列讀取、刪除行、更新列等table的動(dòng)態(tài)管理的文章就介紹到這了,更多相關(guān)JavaScript操作table:遍歷、列讀取、刪除行、更新列等內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 微信小程序?qū)崿F(xiàn)圖片壓縮功能

    微信小程序?qū)崿F(xiàn)圖片壓縮功能

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)圖片壓縮功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • js不同客戶(hù)端顯示不同廣告(pc端+移動(dòng)端+微信端)

    js不同客戶(hù)端顯示不同廣告(pc端+移動(dòng)端+微信端)

    這篇文章主要介紹了js不同客戶(hù)端顯示不同廣告(pc端+移動(dòng)端+微信端),比較適合自適應(yīng)網(wǎng)站的廣告,需要的朋友可以參考下
    2023-02-02
  • JavaScrip簡(jiǎn)單數(shù)據(jù)類(lèi)型隱式轉(zhuǎn)換的實(shí)現(xiàn)

    JavaScrip簡(jiǎn)單數(shù)據(jù)類(lèi)型隱式轉(zhuǎn)換的實(shí)現(xiàn)

    本文主要介紹了JavaScrip簡(jiǎn)單數(shù)據(jù)類(lèi)型隱式轉(zhuǎn)換的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • JavaScript控制網(wǎng)頁(yè)層收起和展開(kāi)效果的方法

    JavaScript控制網(wǎng)頁(yè)層收起和展開(kāi)效果的方法

    這篇文章主要介紹了JavaScript控制網(wǎng)頁(yè)層收起和展開(kāi)效果的方法,涉及javascript操作網(wǎng)頁(yè)元素動(dòng)態(tài)效果的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04
  • 《javascript設(shè)計(jì)模式》學(xué)習(xí)筆記一:Javascript面向?qū)ο蟪绦蛟O(shè)計(jì)對(duì)象成員的定義分析

    《javascript設(shè)計(jì)模式》學(xué)習(xí)筆記一:Javascript面向?qū)ο蟪绦蛟O(shè)計(jì)對(duì)象成員的定義分析

    這篇文章主要介紹了《javascript設(shè)計(jì)模式》學(xué)習(xí)筆記Javascript面向?qū)ο蟪绦蛟O(shè)計(jì)對(duì)象成員的定義,結(jié)合實(shí)例形式分析了《javascript設(shè)計(jì)模式》中JavaScript面向?qū)ο蟪绦蛟O(shè)計(jì)的原理、定義、用法及操作注意事項(xiàng),需要的朋友可以參考下
    2020-04-04
  • 一文總結(jié)JS中邏輯運(yùn)算符的特點(diǎn)

    一文總結(jié)JS中邏輯運(yùn)算符的特點(diǎn)

    在JavaScript的眾多運(yùn)算符里,提供了三個(gè)邏輯運(yùn)算符&&、||和!,下面這篇文章主要給大家介紹了關(guān)于JS中邏輯運(yùn)算符的特點(diǎn),文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-03-03
  • JavaScript學(xué)習(xí)小結(jié)(7)之JS RegExp

    JavaScript學(xué)習(xí)小結(jié)(7)之JS RegExp

    在js中,正則表達(dá)式是由一個(gè)RegExp對(duì)象表示的,RegExp 是正則表達(dá)式的縮寫(xiě)。RegExp簡(jiǎn)單的模式可以是一個(gè)單獨(dú)的字符。更復(fù)雜的模式包括了更多的字符,并可用于解析、格式檢查、替換等等??梢允褂靡粋€(gè)RegExp()構(gòu)造函數(shù)來(lái)創(chuàng)建RegExp對(duì)象,也可以使用直接量語(yǔ)法
    2015-11-11
  • Js 中debug方式

    Js 中debug方式

    以前在VS2005中以為要斷點(diǎn)debug js 要 用 debug模式并且在相應(yīng)的js中設(shè)置斷點(diǎn) 才可以debug,今天學(xué)了一招,可以在要調(diào)試的js前加一句js命令debugger;
    2010-02-02
  • JavaScript駕馭網(wǎng)頁(yè)-CSS與DOM

    JavaScript駕馭網(wǎng)頁(yè)-CSS與DOM

    DOM是種符合萬(wàn)維網(wǎng)標(biāo)準(zhǔn)的HTML操縱方式,它能比innerHTML特性達(dá)成更多操控功能。這篇文章主要介紹了JavaScript駕馭網(wǎng)頁(yè)-CSS與DOM的相關(guān)資料,需要的朋友可以參考下
    2016-03-03
  • JS實(shí)現(xiàn)點(diǎn)擊圖片在當(dāng)前頁(yè)面放大并可關(guān)閉的漂亮效果

    JS實(shí)現(xiàn)點(diǎn)擊圖片在當(dāng)前頁(yè)面放大并可關(guān)閉的漂亮效果

    點(diǎn)擊圖片在當(dāng)前頁(yè)面放大的漂亮效果實(shí)現(xiàn)方法有很多,在本文將為大家介紹下使用Lightbox JS是如何實(shí)現(xiàn)的,感興趣的朋友不要錯(cuò)過(guò)
    2013-10-10

最新評(píng)論