[英]How to select all rows in JSF table and delete them?
我有一个带复选框和分页的JSF表。 我有以下问题:我想在所有表页中选择所有行并删除它们。 简单的方法是创建Java哈希映射并存储密钥。 然后Java方法会使用密钥将它们删除到hashmap中,但是如果hashmap超过100万,会发生什么? 也许内存泄漏? 也许解决方案是使用这个简单的JavaScript来选择所有复选框:
//Select all checkbox
function selectall(){
$('button').click(function() {
$("[type=checkbox]").prop("checked", true);
})
}
//Unselect all checkbox
function selectall(){
$('button').click(function() {
$("[type=checkbox]").prop("checked", false);
})
}
我面临两个问题:1。如果我使用JavaScript选择所有复选框,可能只会选择第一页上的复选框,如果我打开第二页则不会选中复选框。 JavaScript仅适用于一个页面。 2.当我单击删除按钮时,如果我选择JavaScript的所有复选框,Java方法将如何知道每个复选框都被选入表中并删除行? 我怎么能解决这些问题?
如果我使用JavaScript选择所有复选框,则可能只会选择第一页上的复选框,如果我打开第二页,则不会选中复选框。
这是事实,因为数据表(甚至整个页面)都被重新渲染,并且将失去其检查状态。
我怎么能解决这些问题?
专注于您尝试实现的目标。 实际上,您不希望在分页数据表中选择所有一百万个条目,但希望删除支持数据表的整个列表或集合。
为什么不添加一个简单清空列表的“全部删除”按钮? 那么你根本不需要关心选择框。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.