Shawyu_
2019-04-17 17:17JS中除了bind()传参和箭头函数传参,还有什么方法用JS统计勾选了多少个单选?
窗口里有一些单选框,想用JS统计勾选了多少个单选。
要求是:要把计数和遍历功能分开;n定义在constructor里(还有其他函数用)
<div id="box">
<input type="checkbox" class="check"/>
<input type="checkbox" class="check"/>
<input type="checkbox" class="check"/>
</div>
<script>
class Cart {
constructor(selector) {
this.check = Array.from(document.querySelectorAll(".check"));
this.n = 0;
this.bindEvents();
}
bindEvents () {
this.check.forEach(check => {
check.onchange = this.checkChange.bind(this,check);
// check.onchange = () => {this.checkChange(check);};
})
}
checkChange (check) {
this.n += check.checked ? 1 : -1;
console.log(this.n);
}
}
new Cart("#box");
</script>
我想了很久,不得其解。
除了这样,还能怎么写?
比如不用bind()传参和箭头函数传参,写check.onchange = this.checkChange;的话,checkChange()应该怎么改?
或者都不用箭头函数怎么改?
新人第一次提问,求大神斧正。
- 点赞
- 回答
- 收藏
- 复制链接分享
2条回答
为你推荐
- 如何在golang中检查特定目录上是否具有--bind挂载?
- exec
- mount
- bind
- 2个回答
- 无法在SELECT字段名称中使用BindValue? [重复]
- pdo
- php
- 1个回答
- mysqli函数bind_result,store_result和fetch有什么区别?
- prepared-statement
- php
- 2个回答
- 是什么导致了这个错误? mysqli_stmt :: bind_result():
- mysql
- php
- 1个回答
- 从外部视图模型中调用knockout.js中的函数
- knockout.js
- javascript
- php
- 1个回答
换一换