如何选中所有复选框并在分页过程中保持选中状态
how to check all checkboxes and keep them checked through pagination
我有下面的脚本一个检查所有复选框在一个组的工作很好,另一个传递复选框值在分页和所有工作正常唯一的问题是,当我单击复选框检查所有页面在第1页,但当我单击第2页只有复选框被选中,虽然查询工作正常。如果我单独单击所有复选框,那么它们就会通过分页,所以我不知道为什么选中所有按钮没有。我希望当你点击全选时,所有的复选框在整个分页过程中也保持选中状态。
这是我的脚本,检查所有的复选框
<script type="text/javascript">
window.addEvent('domready', function() {
$$('li.head input[type=checkbox]').addEvent('click', function() {
this.getParent('ul').getElements('input[type=checkbox]').setProperty('checked', this.checked);
});
});
</script>
下面是记住复选框的脚本
var aa_checkbox;
function init_checkbox(){
//setup blank cb cookie
if(!Cookie.read('cb')){
Cookie.write('cb', JSON.encode({}));
}
//setup "associative array" to match what is currently in the cookie
aa_checkbox = JSON.decode(Cookie.read('cb'));
//set up each checkbox with class="remember_cb"
$$('input.remember_cb').each(function(el){
//mark checked if it is in the cookie
if(aa_checkbox[el.name]){
el.checked = 'checked'
}
//setup onclick event to put checkbox status in the
el.addEvent('click', function(){
if(el.checked){
aa_checkbox[el.name] = 1;
}else{
delete(aa_checkbox[el.name]);
}
})
})
//save aa_checkbox back into cookie upon leaving a page
window.onbeforeunload = function(){Cookie.write('cb', JSON.encode(aa_checkbox));};
setup_form();
return true;
}
function setup_form(){
//set up form so that it adds the inputs upon submit.
$$('form.remember_cb_form').each(function(form){
form.addEvent('submit', function(ev){
//clean up previously inserted inputs
var aa_hidden_insert = $$('input.hidden_insert');
$each(aa_hidden_insert, function(el){
el.parentNode.removeChild(el);
})
var el_form = this;
//insert hidden elements representing the values stored in aa_checkbox
$each(aa_checkbox, function(i_value, s_name){
if(i_value){
var el_input = document.createElement('input');
el_input.type = 'hidden';
el_input.value = i_value;
el_input.name = s_name;
el_input.setAttribute('class', 'hidden_insert');
el_form.appendChild(el_input);
}
});
});
});
}
window.addEvent('domready', init_checkbox);
如果有人能帮助我,我将非常感激,谢谢
这与你的代码如何工作有关。我建议检查/取消检查应该影响后备数据的内存副本。例如,如果您有一个表示复选框的数组,则在数组中设置选中/取消选中,然后渲染该数组以选中/取消选中相应的复选框。这样,当你选中all时,所有的数组单元格都被设置为checked!当从一个页面切换到另一个页面时,只需读取相应数组单元格的状态。
相关文章:
- 在提交过程中使用同步确认灯箱提交表格
- 在电子商务结账过程中显示特定于上下文的错误
- Grunt排除在生成过程中插入某些文件
- JavaScript:如何在迭代过程中修改数组中的值
- 如何检查是否存在“;没有到主机的路由”;在流式传输视频的过程中一遍又一遍
- 在asp.net页面中显示javascript执行过程中的加载图标
- 在网格视图的自动刷新过程中,设置内部网格视图文本框的可见性
- ng-show内容在页面加载过程中闪烁,尽管它不是真实的,并且ng-cloak不适用于FF
- 如何在初始化过程中引用同一对象内的对象字段
- Python Javascript哈希库,以确保JSON对象在传输过程中不会损坏
- 如何将SignalR包含在gullow构建过程中
- 如何在剑道网格中直观地识别拖放过程中的放置目标
- 我是否可以在渲染过程中使用三.js合并每一帧中的几何体
- 在拖动过程中释放鼠标时忽略 JavaScript mouseUp 事件
- 主干网的生命周期.js创建过程中的视图
- redux 中状态对象的结构
- 为什么在设置了OnPush标志的情况下,Angular2在更改检测过程中同时捕捉到引用更改和基元更改
- 在创建视图mvc.net的过程中使用javascript
- 如何选中所有复选框并在分页过程中保持选中状态
- Websocket错误:Websocket握手过程中出现错误:状态行中没有找到响应代码