테이블과 버튼이있는 HTML :
<div>
<h1>Info</h1>
<form>
<table id="t">
<tr>
<th></th>
<th>index</th>
<th>name</th>
<th>job</th>
<th>date</th>
<th>department</th>
</tr>
<tr>
<td><input type="checkbox"></td>
<td>1</td>
<td>Alex</td>
<td>Hacker</td>
<td>100000000000000000</td>
<td>2</td>
</tr>
</table>
<br/>
<input type="submit" value="delete" onclick="deleteRow()">
</form>
</div>
확인란을 설정 한 행을 제거하고 싶습니다. 삭제는 버튼 클릭에 있어야합니다.
삭제해야하는 자바 스크립트 함수 :
function deleteRow() {
let table = document.getElementById('t')
let boxs = table.getElementsByTagName("input")
for (i = 0; i < boxs.length; i++){
if(boxs[i] == true) {
table.deleteRow((boxs[i].parentNode.parentNode).rowIndex)
}
}
}
이 코드, 배열의 크기가 올바르게 정의되었지만 조건에 맞지 않습니다.
코드에서 많이 변경할 필요가 없습니다. if 문은 아래와 같이 변경해야합니다.
에서
if (상자 [i] == true) {
}
에
if (boxs [i] .checked == true) {
}
box [i]는 객체이기 때문입니다. 따라서 확인 상태를 얻으려면 boxs [i] .checked를 호출해야합니다. 이것은 당신에게 참 / 거짓을 줄 것입니다.
function deleteRow() {
let table = document.getElementById('t')
let boxs = table.getElementsByTagName("input")
for (i = 0; i < boxs.length; i++){
if(boxs[i].checked == true) {
table.deleteRow((boxs[i].parentNode.parentNode).rowIndex)
}
}
return false;
}
<div>
<h1>Info</h1>
<form onsubmit="return deleteRow()">
<table id="t">
<tr>
<th></th>
<th>index</th>
<th>name</th>
<th>job</th>
<th>date</th>
<th>department</th>
</tr>
<tr>
<td><input type="checkbox"></td>
<td>1</td>
<td>Alex</td>
<td>Hacker</td>
<td>100000000000000000</td>
<td>2</td>
</tr>
</table>
<br/>
<input type="submit" value="delete">
</form>
</div>
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다