easyui clearChecked与uncheckedAll

发布于 2021-11-18 22:15:38 字数 826 浏览 1012 评论 5

最近去查看了这两个方法的代码,
clearChecked为如下

clearChecked : function(jq) {
return jq.each(function() {
var checkedRows = $.data(this, "datagrid").checkedRows;
checkedRows.splice(0, checkedRows.length);
uncheckAll(this);
});
}

uncheckedAll为如下

uncheckAll : function(jq) {
return jq.each(function() {
uncheckAll(this);
});
}

不解的是clearChecked方法中的这两行代码是用来干什么
var checkedRows = $.data(this, "datagrid").checkedRows;
checkedRows.splice(0, checkedRows.length);

我所知道的这两个方法的结果是:clearChecked会删除所有页面的checkbox的选中状态,而uncheckAll只会删除当前页的checkbox的选中状态。而两个方法的不同处刚好就是上面那两行代码,难道上面那两行代码的意思就是非当前页的checkbox的选中状态吗。但是据我所知,checkedRows.splice(0,checkedRows.length)执行之后,不就是删除checkedRows里面的元素吗。

求大师们帮忙解答一下。



如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

月牙弯弯 2021-11-24 13:05:41

checkedRows里面存放的是什么元素,所以页面的被选中的checkbox吗,注:我这里所说的所有页面是指分页中的所有页面

酷到爆炸 2021-11-22 15:27:14

回复
是的

旧伤慢歌 2021-11-21 22:54:49

@antipro 也就是说,其它页面checkbox的选中状态都是被存放在checkboxRows中的,如果删除掉,状态就会随之删除,这时候如果再点回之前的页面,checkbox状态就全变为未选中了是吧

滥情空心 2021-11-20 03:02:25

回复
是的,之前页面的选中状态,就是在这个页面被载入的时候,根据checkedRows的内容还原的。

带上头具痛哭 2021-11-19 04:43:58

非当前页面的内容是不存在于这个页面上的,所以也就没有uncheckAll的必要,只要吧checkedRows里的内容清空就可以了。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文