Javascript:修改函数以动态创建表
我对JavaScript非常陌生,希望使用函数将表插入表单。 到目前为止,我有以下代码(工作-除了标题),但我正在努力解决以下问题: 1) 如何使用提示(弹出窗口)来请求所需的表,而不是像我这样使用输入字段? 2) 我如何在这里包括宽度(单位%? 3) 如何始终添加表格标题 我希望这里的人能帮助我理解这一点 我的代码:Javascript:修改函数以动态创建表,javascript,jquery,html,css,dynamic-tables,Javascript,Jquery,Html,Css,Dynamic Tables,我对JavaScript非常陌生,希望使用函数将表插入表单。 到目前为止,我有以下代码(工作-除了标题),但我正在努力解决以下问题: 1) 如何使用提示(弹出窗口)来请求所需的表,而不是像我这样使用输入字段? 2) 我如何在这里包括宽度(单位%? 3) 如何始终添加表格标题 我希望这里的人能帮助我理解这一点 我的代码: <html> <head> <script type="text/javascript"> function insertTable(
<html>
<head>
<script type="text/javascript">
function insertTable()
{
var num_rows = document.getElementById('rows').value;
var num_cols = document.getElementById('cols').value;
var theader = "<table id='table1'><thead></thead>";
var tbody = "";
for(var i = 0; i < num_rows; i++)
{
tbody += "<tr>";
for(var j = 0; j < num_cols; j++)
{
tbody += "<td>";
tbody += "?";
tbody += "</td>"
}
tbody += "</tr><br />";
}
var tfooter = "</table>";
document.getElementById('wrapper').innerHTML = theader + tbody + tfooter;
}
</script>
<style>
#table1
{
border:solid 1px;
border-collapse:collapse;
width:100%;
}
#table1 td
{
border:solid 1px;
vertical-align:middle;
}
</style>
</head>
<body>
<form name="tableForm">
<label>Rows: <input type="text" name="rows" id="rows"/></label><br />
<label>Cols: <input type="text" name="cols" id="cols"/></label><br />
<label>Width (%): <input type="text" name="width" id="width"/></label><br />
<button type="button" onclick="insertTable()">Create Table</button>
<div id="wrapper"></div>
</form>
</body>
</html>
函数insertTable()
{
var num_rows=document.getElementById('rows').value;
var num_cols=document.getElementById('cols').value;
var theader=“”;
var tbody=“”;
对于(变量i=0;i ”;
}
var tfooter=“”;
document.getElementById('wrapper').innerHTML=theader+tbody+tfooter;
}
#表1
{
边框:实心1px;
边界塌陷:塌陷;
宽度:100%;
}
#表1 td
{
边框:实心1px;
垂直对齐:中间对齐;
}
行:
科尔斯:
宽度(%):
创建表
感谢您在这方面提供的帮助,Tim可以看看JQuery和show()/hide()函数。您可以使用“真实”javascript弹出窗口,但某些浏览器/浏览器配置无法打开新选项卡/窗口。总之,考虑一下您的用例,创建所有必要的div容器,并在页面上显示一个div容器。您可以在这里找到关于JQuery的更多信息,当然也可以在这里找到
. 您还可以使用JQuery函数更改表属性和相应的css 看看JQuery和show()/hide()函数。您可以使用“真实”javascript弹出窗口,但某些浏览器/浏览器配置无法打开新选项卡/窗口。总之,考虑一下您的用例,创建所有必要的div容器,并在页面上显示一个div容器。您可以在这里找到关于JQuery的更多信息,当然也可以在这里找到
. 您还可以使用JQuery函数更改表属性和相应的css 看看JQuery和show()/hide()函数。您可以使用“真实”javascript弹出窗口,但某些浏览器/浏览器配置无法打开新选项卡/窗口。总之,考虑一下您的用例,创建所有必要的div容器,并在页面上显示一个div容器。您可以在这里找到关于JQuery的更多信息,当然也可以在这里找到
. 您还可以使用JQuery函数更改表属性和相应的css 看看JQuery和show()/hide()函数。您可以使用“真实”javascript弹出窗口,但某些浏览器/浏览器配置无法打开新选项卡/窗口。总之,考虑一下您的用例,创建所有必要的div容器,并在页面上显示一个div容器。您可以在这里找到关于JQuery的更多信息,当然也可以在这里找到
. 您还可以使用JQuery函数更改表属性和相应的css 我在您的代码中添加了一些JS和CSS更改。 这将为您提供每列的标题,还将以%为单位设置表格的宽度 要在弹出窗口中显示表单,可以使用任何jquery插件。 最好的弹出式jq插件是
函数insertTable()
{
var num_rows=document.getElementById('rows').value;
var num_cols=document.getElementById('cols').value;
var width=document.getElementById('width')。值;
var theader=“”;
var tbody=“”;
对于(var j=0;j ”;
}
var tfooter=“”;
document.getElementById('wrapper').innerHTML=theader+tbody+tfooter;
}
#表1
{
边框:实心1px;
边界塌陷:塌陷;
}
#表一
{
边框:实心1px;
边界塌陷:塌陷;
}
#表1 td
{
边框:实心1px;
垂直对齐:中间对齐;
}
行:
科尔斯:
宽度(%):
创建表
希望这对你有帮助
谢谢我在您的代码中添加了一些JS和CSS更改。 这将为您提供每列的标题,还将以%为单位设置表格的宽度 要在弹出窗口中显示表单,可以使用任何jquery插件。 最好的弹出式jq插件是
函数insertTable()
{
var num_rows=document.getElementById('rows').value;
var num_cols=document.getElementById('cols').value;
var width=document.getElementById('width')。值;
var theader=“”;
var tbody=“”;
对于(var j=0;j ”;
}
var tfooter=“”;
document.getElementById('wrapper').innerHTML=theader+tbody+tfooter;
}
#表1
{
边框:实心1px;
边界塌陷:塌陷;
}
#表一
{
边框:实心1px;
边界塌陷:塌陷;
}
#表1 td
{
边框:实心1px;
垂直对齐:中间对齐;
}
行:
科尔斯:
宽度(%):
创建表
希望这对你有帮助
谢谢我在您的代码中添加了一些JS和CSS更改。 这将为您提供每列的标题,还将设置选项卡的宽度
<html>
<head>
<script type="text/javascript">
function insertTable()
{
var num_rows = document.getElementById('rows').value;
var num_cols = document.getElementById('cols').value;
var width = document.getElementById('width').value;
var theader = "<table id='table1' width = ' "+ width +"% '>";
var tbody = "";
for(var j = 0; j < num_cols; j++)
{
theader += "<th>header col "+ (j+1) +" </th>";
}
for(var i = 0; i < num_rows; i++)
{
tbody += "<tr>";
for(var j = 0; j < num_cols; j++)
{
tbody += "<td>";
tbody += "?";
tbody += "</td>"
}
tbody += "</tr><br />";
}
var tfooter = "</table>";
document.getElementById('wrapper').innerHTML = theader + tbody + tfooter;
}
</script>
<style>
#table1
{
border:solid 1px;
border-collapse:collapse;
}
#table1 th
{
border:solid 1px;
border-collapse:collapse;
}
#table1 td
{
border:solid 1px;
vertical-align:middle;
}
</style>
</head>
<body>
<form name="tableForm">
<label>Rows: <input type="text" name="rows" id="rows"/></label><br />
<label>Cols: <input type="text" name="cols" id="cols"/></label><br />
<label>Width (%): <input type="text" name="width" id="width"/></label><br />
<button type="button" onclick="insertTable()">Create Table</button>
<div id="wrapper"></div>
</form>
</body>
</html>
Header1,Header2,Header3
1,2,3
4,5,6
var data = evt.target.result;
var delimiter = ',';
var escape = '\n';
var rows = data.split(escape);
var tbl = document.createElement('table');
tbl.style.width = '100%';
//tbl.setAttribute('border', '1', "green");
tbl.className = "table table-hover table-condensed dataTable";
var tbdy = document.createElement('tbody');
for (index in rows) {
var tr = document.createElement('tr'); // creating new row
var items = rows[index].split(delimiter);
for (itemindex in items) {
var td = "";
if (index == 0) {
td = document.createElement('th');
} else {
td = document.createElement('td');
}
td.appendChild(document.createTextNode(items[itemindex])); // creating new cell
tr.appendChild(td); // add to current tr
}
tbdy.appendChild(tr); // add new row (tr) to table
}
tbl.appendChild(tbdy);
document.getElementById('byte_content').appendChild(tbl);