2013-05-09 43 views
0

我有一个脚本下面的一个检查组中的所有复选框工作很好,另一个通过复选框值分页和所有工作正常唯一的问题是,当我单击全选框时,它会检查第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); 

如果有人可以帮助我,我会很感激的剧本,感谢

回答

0

它与你的代码如何工作有关。我建议检查/取消检查应该影响备份数据的内存副本。 EG如果您有代表复选框的数组,请在数组中选中/取消选中,然后使数组呈现/取消选中相应的复选框。这样,当你全部检查时,所有的数组单元格都被设置为检查!当您逐页更改时,只需读取相应数组单元格的状态即可。