【发布时间】:2020-08-24 13:56:02
【问题描述】:
我正在尝试使用 react 做一个按钮来检查和取消选中所有框。但由于某种原因,“全选”只选择其中三个,而“取消全选”只是取消选择这三个并选择其余的两个。
我的代码如下:
<button type='button' className='btnSelectAll' onClick={this.selectAllOrNone}>Select All</button>
this.selectAllOrNone = () => {
let events = document.getElementsByClassName('toDoList_checkbox')
let btnSelectAll = document.getElementsByClassName('btnSelectAll')[0]
console.log(events)
for (let i = 0; i < events.length; i++) {
if (btnSelectAll.innerHTML === 'Select All') {
events[i].checked = true
btnSelectAll.innerHTML = 'Unselect All'
}
else if (btnSelectAll.innerHTML === 'Unselect All') {
events[i].checked = false
btnSelectAll.innerHTML = 'Select All'
}
console.log('btnSelectAll')
}
}
任何人都可以提出问题所在?在此处输入图片描述
【问题讨论】:
-
请将您的 HTML 发布为minimal reproducible example,以便我们帮助您。在编辑器中使用
<>来制作sn-p。
标签: javascript for-loop if-statement checkbox selectall