【发布时间】:2017-09-03 01:02:38
【问题描述】:
到目前为止我已经实现了什么:
- 在输入字段中输入值并单击“添加”按钮,输入的值将添加到新行中。
- 当我点击删除按钮时,所有行都被删除了。
我需要实现的:
- 应将复选框添加到每一行。
- 如果我选中复选框并单击“删除”按钮,则只有该特定行应该被删除,如果我也选择多个复选框,它应该可以工作。 3.单击添加按钮后清除输入字段。 谁能检查一下并告诉我该怎么做。
//Javascript code to Add new rows onclick of a button and to delete row .
function addMoreRows() {
var user = document.getElementById('user_id').value;
var date = document.getElementById('date').value;
var color = document.getElementById('color').value;
var table = document.getElementById('tbl_id');
var row = table.insertRow();
var userName = row.insertCell(0);
var Date = row.insertCell(1);
var Color = row.insertCell(2);
var checkbox = row.insertCell(3);
userName.innerHTML = user;
Date.innerHTML = date;
Color.innerHTML = color;
}
function deleteMoreRows(tableID) {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
for (var i = 0; i < rowCount; i++) {
table.deleteRow(i);
rowCount--;
i--;
}
}
<!-- HTML markup for the input fields and table . -->
<form align="center" method="GET">
Enter your name : <input type="text" name="users" id="user_id" value="name" onfocus="if(this.value == 'name') {this.value=''}" onblur="if(this.value == ''){this.value ='name'}"><br>
Select the Date : <input type="date" id="date"><br>
Select your favorite color:
<select id="color" required>
<option value="yellow">yellow</option>
<option value="red">red</option>
</select>
<br>
<br>
<input type="button" id="mysubmit" value="Add Row" onClick="addMoreRows()">
<input type="button" id="delete" value="Delete" onClick="deleteMoreRows('tbl_id')">
</form>
<br>
<br>
<table id="tbl_id" style="text-align:center" align="center" valign="top">
<thead>
<tr>
<th style="width:200px;">Name</th>
<th style="width:200px;">Date</th>
<th style="width:200px;">Color</th>
</tr>
</thead>
【问题讨论】:
-
在尝试实现其余逻辑时遇到任何问题?
-
按 F12 打开 JavaScript 控制台。单击删除时出现什么错误?
-
@mkaatman,我没有收到任何错误,但是当我单击删除时它删除了所有行,我需要在选择复选框时删除特定行。但我不知道如何为每一行添加复选框并进行验证。
-
这里为什么不用jQuery?
-
您需要将 checkbox.innerHTML 设置为一个输入字段,该字段包含一个复选框并且具有与该行绑定的唯一 ID。
标签: javascript html validation input