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

js實現(xiàn)單擊可修改表格

 更新時間:2021年04月22日 10:13:56   作者:左一.  
這篇文章主要為大家詳細介紹了js實現(xiàn)單擊可修改表格,類似成績單,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

純js實現(xiàn)單擊可修改表格(類似成績單),供大家參考,具體內(nèi)容如下

功能:實現(xiàn)成績單單擊表格可對數(shù)據(jù)進行修改且對輸入的數(shù)字大小有驗證例如不小于0不大于100,總分欄會對總分進行求和(利用了es6的模板字符串)。

實現(xiàn)效果:

代碼:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        table{
            margin: 0 auto;
            z-index:999999;
            border-collapse: collapse;
        }
        th {
         background-color: #4CAF50;
         /* background-image: linear-gradient(to right, #eea2a2 0%, #bbc1bf 19%, #57c6e1 42%, #b49fda 79%, #7ac5d8 100%); */
         color: white;
}
        table th,tr,td{
            width:100px;
            text-align: center;
        }
        table input{
            border:none;
            outline: none;
            width: 100%;
        }
        .inputClass{
            width:80px;
            height:100%
        }

    </style>
</head>
<body>
    <div style="position: relative;margin-top: 200px;text-align:center">
        <h2 style="margin-bottom: 50px;">成績登記表</h2>
        <div >
            <table border="1">
                <thead>
                    <th>學(xué)號</th>
                    <th>姓名</th>
                    <th>語文</th>
                    <th>數(shù)學(xué)</th>
                    <th>英語</th>
                    <th>總分</th>
                </thead>
                <tbody>
                </tbody>
            </table>
        </div>
    </div>
</body>
<script>
    // 數(shù)組
    let data = [
        {
            id:1101,
            name:'小王',
            Chinese:100,
            Math:80,
           English:91,
            total:271
        },
        {
            id:1102,
            name:'小曾',
            Chinese:88,
            Math:87,
            English:92,
            total:267
        },
        {
            id:1103,
            name:'小趙',
            Chinese:75,
            Math:20,
            English:86,
            total:181
        },
        {
            id:1104,
            name:'小周',
            Chinese:65,
            Math:81,
            English:83,
            total:229
        }
    ]
    window.onload = function(){
        initdata()
    }
    //初始化數(shù)據(jù)
    // 模板填入數(shù)據(jù)
    function initdata(){
        let tbodyinner = document.getElementsByTagName("tbody")[0]
        let html = ''
        for(let i=0;i<data.length;i++){
            html+=`
            <tr>
                <td>${data[i].id}</td>
                <td>${data[i].name}</td>
                <td name="grade" class="chinese">${data[i].Chinese}</td>
                <td name="grade" class="math">${data[i].Math}</td>
                <td name="grade" class="english">${data[i].English}</td>
                <td class="allscore">${parseInt(data[i].Chinese)+parseInt(data[i].Math)+parseInt(data[i].English)}</td>
            </tr>
            `
        }
        // tbody.innerHTML="..."往tbody中添加內(nèi)容
        tbodyinner.innerHTML = html
        getNode()
    }
    // 監(jiān)聽click事件
    function getNode(){
        let subject = document.getElementsByName("grade")
        for(let i=0;i<subject.length;i++){
            subject[i].addEventListener('click',function(){
                edit(this)
            })
        }
    }
    //鼠標(biāo) 移入點
    function edit(i){
        let inputlen = document.getElementsByTagName('input').length
        let oldvalue = i.innerHTML
        if(inputlen==0){
            // 設(shè)置該標(biāo)簽為空
            i.innerHTML = ''
            // 添加input對象
            let inp = document.createElement("input")
            inp.value = oldvalue
            inp.classList.add("inputClass")
            // 添加子節(jié)點
            i.appendChild(inp)
            // 獲取文本中的內(nèi)容
            inp.select()
            // 失去焦點事件
            inp.onblur = function(){
                if(inp.value<=100&&inp.value>=0){
                    i.innerHTML = inp.value
                    let val1 = i.parentNode.childNodes[5].innerHTML
                    let val2 = i.parentNode.childNodes[7].innerHTML
                    let val3 = i.parentNode.childNodes[9].innerHTML
                    i.parentNode.childNodes[11].innerHTML = parseInt(val1)+parseInt(val2)+parseInt(val3)
                }else{
                 
                    return alert("數(shù)據(jù)值不對,請重新輸入!");
                }
            }
        }
    }
</script>
</html>

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 巧用canvas

    巧用canvas

    作為一項有意思的新技術(shù),canvas給我們帶來了對網(wǎng)頁繪圖和網(wǎng)頁動畫的新革命。本文簡單介紹下canvas實用的功能,下面跟著小編一起來看下吧
    2017-01-01
  • js中如何復(fù)制一個對象并獲取其所有屬性和屬性對應(yīng)的值

    js中如何復(fù)制一個對象并獲取其所有屬性和屬性對應(yīng)的值

    如果知道這個對象的所有屬性自然就可以重新new一個,然后對每個屬性賦值,就可以做到,但如果不知道呢?如何創(chuàng)建一個內(nèi)容相同 的對象呢?下面有個不錯的示例,大家可以看看
    2013-10-10
  • 遍歷json 對象的屬性并且動態(tài)添加屬性的實現(xiàn)

    遍歷json 對象的屬性并且動態(tài)添加屬性的實現(xiàn)

    下面小編就為大家?guī)硪黄闅vjson 對象的屬性并且動態(tài)添加屬性的實現(xiàn)。小編覺的挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12
  • 一個特殊的排序需求的javascript實現(xiàn)代碼

    一個特殊的排序需求的javascript實現(xiàn)代碼

    看了之后1是手癢癢,2是覺得樓主的實現(xiàn)有問題,就動手寫了一下,用js,大概用了30-40分鐘。
    2009-09-09
  • JS中數(shù)據(jù)類型的正確判斷方法實例

    JS中數(shù)據(jù)類型的正確判斷方法實例

    怎么去判斷一個數(shù)據(jù)屬于哪個數(shù)據(jù)類型,這個是很常見的操作,我們一般都會想到typeof和instanceof這兩個常見的方法,但有時候這兩種方法并不能滿足我們的需求,下面這篇文章主要給大家介紹了關(guān)于JS中數(shù)據(jù)類型的正確判斷方法,需要的朋友可以參考下
    2021-08-08
  • ExtJs異步無法向外傳值和賦值的完美解決辦法

    ExtJs異步無法向外傳值和賦值的完美解決辦法

    這篇文章主要介紹了ExtJs異步無法向外傳值和賦值的完美解決辦法,需要的朋友可以參考下
    2017-06-06
  • layer.prompt輸入層的例子

    layer.prompt輸入層的例子

    今天小編就為大家分享一篇layer.prompt輸入層的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09
  • Javascript模仿淘寶信用評價實例(附源碼)

    Javascript模仿淘寶信用評價實例(附源碼)

    這篇文章主要介紹了Javascript模仿淘寶信用評價功能實現(xiàn)方法,以完整實例形式分析了JavaScript響應(yīng)鼠標(biāo)事件動態(tài)改變頁面元素的相關(guān)技巧,并附帶了完整的實例代碼供讀者下載參考,需要的朋友可以參考下
    2015-11-11
  • JavaScript如何輸出楊輝三角

    JavaScript如何輸出楊輝三角

    這篇文章主要介紹了JavaScript如何輸出楊輝三角問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • JavaScript閉包原理與用法實例分析

    JavaScript閉包原理與用法實例分析

    這篇文章主要介紹了JavaScript閉包原理與用法,結(jié)合實例形式分析了javascript閉包的概念、功能、常見問題及相關(guān)操作技巧,需要的朋友可以參考下
    2018-08-08

最新評論