Javascript 如何附加表行取决于选择值?
我有一个选择框和一个有10行的表格Javascript 如何附加表行取决于选择值?,javascript,Javascript,我有一个选择框和一个有10行的表格 <select id="selVal"> <option>10</option> <option>20</option> <option>30</option> </select> 试试这个: $(文档).ready(函数(){ $(“#示例”).DataTable(); } ); 名称 位置 办公室 年龄 开始日期 薪水 名称 位置
<select id="selVal">
<option>10</option>
<option>20</option>
<option>30</option>
</select>
试试这个:
$(文档).ready(函数(){
$(“#示例”).DataTable();
} );代码>
名称
位置
办公室
年龄
开始日期
薪水
名称
位置
办公室
年龄
开始日期
薪水
老虎尼克松
系统架构师
爱丁堡
61
2011/04/25
$320,800
加勒特温特斯
会计
东京
63
2011/07/25
$170,750
阿什顿考克斯
初级技术作者
旧金山
66
2009/01/12
$86,000
塞德里克·凯利
高级Javascript开发人员
爱丁堡
22
2012/03/29
$433,060
佐藤航空
会计
东京
33
2008/11/28
$162,700
布里尔·威廉姆森
集成专家
纽约
61
2012/12/02
$372,000
赫罗德·钱德勒
营业员
旧金山
59
2012/08/06
$137,500
罗娜·戴维森
集成专家
东京
55
2010/10/14
$327,900
科琳赫斯特
Javascript开发人员
旧金山
39
2009/09/15
$205,500
索尼娅·弗罗斯特
软件工程师
爱丁堡
23
2008/12/13
$103,600
杰娜·盖恩斯
办公室经理
伦敦
30
2008/12/19
$90,560
奎因·弗林
支撑导线
爱丁堡
22
2013/03/03
$342,000
查尔德·马歇尔
区域主任
旧金山
36
2008/10/16
$470,600
海莉·肯尼迪
高级市场设计师
伦敦
43
2012/12/18
$313,500
塔蒂亚娜·菲茨帕特里克
区域主任
伦敦
19
2010/03/17
$385,750
迈克尔·席尔瓦
营销设计师
伦敦
66
2012/11/27
$198,500
柏德
首席财务官(CFO)
纽约
64
2010/06/09
$725,000
格洛丽亚·利特尔
系统管理员
纽约
59
2009/04/10
$237,500
布拉德利·格里尔
软件工程师
伦敦
41
2012/10/13
$132,000
戴里奥斯
人事领导
爱丁堡
35
2012/09/26
$217,500
杰内特·考德威尔
开发领导
纽约
30
2011/09/03
$345,000
尤里浆果
首席营销官(CMO)
纽约
40
2009/06/25
$675,000
凯撒万斯
售前支持
纽约
21
2011/12/12
$106,450
多丽丝·怀尔德
营业员
西德尼
23
2010/09/20
$85,600
当归
首席执行官(CEO)
伦敦
47
2009/10/09
$1,200,000
加文·乔伊斯
开发商
爱丁堡
42
2010/12/22
$92,575
张珍妮弗
区域主任
新加坡
28
2010/11/14
$357,650
布伦登·瓦格纳
软件工程师
旧金山
28
2011/06/07
$206,850
菲奥娜绿色
首席运营官(COO)
旧金山
48
var selVal = document.getElementById('selVal');
selVal.addEventListener('change', function(){
var sel = selVal.value;
// append table row to the table
}
<body>
<select id="selVal">
<option>10</option>
<option>20</option>
<option>30</option>
</select>
</body>
// Code goes here
window.onload = function() {
var selVal = document.getElementById('selVal');
selVal.addEventListener('change', function(){
// append table row to the table
var value = document.getElementById("selVal").value;
var tables = document.getElementsByTagName("TABLE");
console.log(tables);
var body = document.getElementsByTagName('body')[0];
for (var i=tables.length-1; i>=0;i-=1)
if (tables[i]) tables[i].parentNode.removeChild(tables[i]);
var tbl = document.createElement('table');
tbl.style.width = '100%';
tbl.setAttribute('border', '1');
var tbdy = document.createElement('tbody');
for (var i = 0; i < value; i++) {
var tr = document.createElement('tr');
var td = document.createElement('td');
td.appendChild(document.createTextNode('\u0020'))
td.setAttribute('rowSpan', '2');
tr.appendChild(td)
tbdy.appendChild(tr);
}
tbl.appendChild(tbdy);
body.appendChild(tbl);
});
};
Row
<select id="howmany4D">
<option>10</option>
<option>20</option>
<option>30</option>
<option>40</option>
<option>50</option>
</select>
<table id="table4d">
</table>
<div class="buttons">
<button>Kirim</button>
<button>Hapus</button>
</div>
</div>
checkAll4D = document.getElementById('checkAll4D');
checkThis4D = document.getElementsByName('checkThis');
howmany4D = document.getElementById('howmany4D');
howmany4D.addEventListener('change', function() {
deleteRows();
howmany4D = document.getElementById('howmany4D');
var table4d = document.getElementById('table4d');
table4d.style.width = '100%';
table4d.setAttribute('border', '1');
for(var i = 0; i < howmany4D.value; i++) {
var tr = document.createElement('tr');
var td1 = document.createElement('td');
var chkbox = document.createElement('input');
chkbox.type = "checkbox";
chkbox.id = "checkThis";
chkbox.name = "checkThis";
td1.appendChild(chkbox);
tr.appendChild(td1)
for (var inputNeeded = 0 ; inputNeeded< 5 ; inputNeeded++) {
var td = document.createElement('td');
var text = document.createElement('input');
text.type = "text";
text.disabled = "true";
td.appendChild(text);
tr.appendChild(td)
}
table4d.appendChild(tr);
}
});
for(var i = 0; i < checkThis4D.length; i++)
checkThis4D[i].addEventListener('change', hearSome);
function hearSome() {
var parentOf = this.parentNode.parentNode;
var inputs = parentOf.querySelectorAll('input[type=text]');
if(this.checked)
for(var x = 0; x < inputs.length; x++) inputs[x].removeAttribute('disabled');
else
for(var x = 0; x < inputs.length; x++) inputs[x].setAttribute('disabled', true);
}
function deleteRows () {
var tableHeaderRowCount = 1;
var table = document.getElementById('table4d');
var rowCount = table.rows.length;
for (var i = tableHeaderRowCount; i < rowCount; i++) {
table.deleteRow(tableHeaderRowCount);
}
}