2013-05-09 37 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如果您有代表複選框的數組,請在數組中選中/取消選中,然後使數組呈現/取消選中相應的複選框。這樣,當你全部檢查時,所有的數組單元格都被設置爲檢查!當您逐頁更改時,只需讀取相應數組單元格的狀態即可。

相關問題