如何用js向table中写入内容

如何用js向table中写入内容,第1张

JS 语法向body中添加元素用innerHTML,下面是示例代码,供参考:

<script>

var div1 = document.getElementById('DIV1')

var code = '<TABLE>'

code += '<TR><TH>姓名</TH><TH>性别</TH></TR>'

code += '<TR><TD>张三</TD><TD>男</TD></TR>'

code += '<TR><TD>李三</TD><TD>女</TD></TR>'

code += '<TR><TD>王三</TD><TD>男</TD></TR>'

code += '<TR><TD>赵三</TD><TD>男</TD></TR>'

div1.innerHTML = code + '</TABLE>'

</script>

<body>

<div id='div1'></div>

</body>

但通常来说,开发者习惯动态的去添加行而非动态生成表格,因为表头基本都是固定的,每次都刷影响效率,故代码如下:

<script>

var div1 = document.getElementById('tb1')

var code = ''

code += '<TR><TD>张三</TD><TD>男</TD></TR>'

code += '<TR><TD>李三</TD><TD>女</TD></TR>'

code += '<TR><TD>王三</TD><TD>男</TD></TR>'

code += '<TR><TD>赵三</TD><TD>男</TD></TR>'

div1.innerHTML = code

</script>

<body>

<div>

<table>

<THEAD><TR><TH>姓名</TH><TH>性别</TH></TR></THEAD>

<TBODY id='tb1'></TBODY>

</table>

</div>

</body>

首先是html页面的编写:

<!doctype html>

<html ng-app="myModule">

<head>

<meta charset="utf-8">

<title>学生信息管理</title>

//需要用到的一些库,要加载的

<script src="bower_components/angular/angular.js"></script>

<script src="bower_components/ng-table/dist/ng-table.js"></script>

<script src="bower_components/ng-table-export/ng-table-export.js"></script>

<link rel="stylesheet" type="text/css" />

<link rel="stylesheet" type="text/css" />

<link rel="stylesheet" type="text/css" >

<script src="module/scripts/controllers/Form.js"></script>

</head>

<body>

<div ui-view></div>

<div ng-controller="FormController">

<h3>学生信息列表</h3>

<br>

<div>

搜索:<input type="text" ng-model="titleFilter" placeholder="输入关键字">  //加上<tr ng-repeat="student in students|filter:titleFilter">实现了表格内容的检索。

</div>

<br>

<table ng-table="tableParams" >

<tr ng-repeat="student in students|filter:titleFilter"> //遍历每一个对象

<td title="'Name'">

<span ng-if="!student.$edit">{{student.Name}}</span>

<div ng-if="student.$edit"><input type="text" ng-model="student.Name"></div>

</td>

<td title="'Id'">

<span ng-if="!student.$edit">{{student.Id}}</span>

<div ng-if="student.$edit"><input type="text" ng-model="student.Id"></div>

</td>

<td title="'Grade'">

<span ng-if="!student.$edit">{{student.Grade}}</span>

<div ng-if="student.$edit"><input type="text" ng-model="student.Grade"></div>

</td>

<td title="'Actions'" width="200">

<a ng-if="!student.$edit" ng-click="student.$edit=true">Edit</a>

<a ng-if="student.$edit" ng-click="student.$edit=false">Save</a>

<a ng-click="deleteStudent(obj)" ng-if="student.$edit" >Delete</a>

<!-- <a ng-click="addStudent()" ng-if="student.$edit" >Add</a> -->

</td>

</tr>

</table>

<div>

<input type="text" ng-model="newName" placeholder="input Name" required/>

<input type="text" ng-model="newId" placeholder="input Id" required/>

<input type="text" ng-model="newGrade" placeholder="input Grade" required/>

<input type="button" ng-click="addStudent()" value="Add" /> 

</div>

</div>

</body>

</html> 接下来是js代码部分 var myModule=angular.module('myModule',['ngTable']).

controller('FormController',function($scope,ngTableParams,$sce){

$scope.students=[

{Name:'小李',Id:'201401201',Grade:'计算机技术'},

{Name:'李磊',Id:'201401202',Grade:'计算机技术'},

{Name:'夏津',Id:'201401203',Grade:'计算机技术'},

{Name:'杭州',Id:'201401204',Grade:'计算机技术'}

]

$scope.addStudent=function(){       //添加学生函数

$scope.students.push({Name:$scope.newName,Id:$scope.newId,Grade:$scope.newGrade})

$scope.newName=''

$scope.newId=''

$scope.newGrade=''

}

$scope.deleteStudent=function(student){   //删除一行的内容

$scope.students.splice($scope.students.indexOf(student),1)

}

})

<!DOCTYPE HTML>

<html>

<head>

<meta charset=UTF-8>

<title>table</title>

<style>

table {

    margin:auto

    width: 60%

    border: 1px solid black

    border-collapse: collapse

}

 

table caption {

    color: blue

    font: 34px consolas bold

}

 

table th, table td {

    border: 1px solid black

    text-align:center

}

 

table th {

    font: 20px consolas bold

    background-color: gray

}

 

table tr:nth-child(n+2){

    background-color: cyan

}

 

table tr:nth-child(2n+2)  {

    background-color: red

}

</style>

<script>

var data = [

    {id: "001", fullname: "张三", sex: "男", score: [98,33,48]},

    {id: "002", fullname: "李四", sex: "w", score: [11,22,33]},

    {id: "003", fullname: "kyo", sex: "m", score: [22,33,55]},

    {id: "004", fullname: "yamazaki", sex: "w", score: [99, 100, 80]}

]

 

var Student = function (id, fullname, sex, score)

{

    this.id = id

    this.fullname = fullname

    this.sex = sex

    this.score = score

}

 

var Score = function (chinese, math, english)

{

    this.chinese = chinese

    this.math = math

    this.english = english

}

 

var students = []

for (var i = 0 i < data.length i++)

{

    var d = data[i]

    var s = d["score"]

    students.push(new Student (d["id"], d["fullname"], d["sex"], new Score(s[0], s[1], s[2])))

}

 

onload = function ()

{

    var table = document.createElement("table")

    var tbody = document.createElement("tbody")

    table.appendChild(tbody)

    var caption = table.createCaption()

    caption.innerHTML = "学生成绩表"

    var tr = tbody.insertRow (0)

    var str = "学号,姓名,性别,语文,数学,英语".split(",")

    for (var i = 0 i < str.length i++)

    {

        var th = document.createElement("th")

        th.innerHTML = str[i]

        tr.appendChild (th)

    }

    for (var i = 0 i < students.length i++)

    {

        var tr = tbody.insertRow (tbody.rows.length)

        var obj = students[i]

        for (var p in obj)

        {

            var op = obj[p]

            if (p != "score")

            {

                var td = tr.insertCell (tr.cells.length)

                td.innerHTML = op

            }

            else

            {

                for (var p in op)

                {

                    var td = tr.insertCell (tr.cells.length)

                    td.innerHTML = op[p]

                }

            }

        }

    }

    document.body.appendChild(table)

}

</script>

<body>

 

</body>

</html>


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11866040.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-19
下一篇2023-05-19

发表评论

登录后才能评论

评论列表(0条)

    保存