1. 论坛系统升级为Xenforo,欢迎大家测试!
    排除公告

mootools 快速实现“全选”功能

本帖由 Ulysses2008-05-13 发布。版面名称:前端开发

  1. Ulysses

    Ulysses New Member

    注册:
    2006-02-05
    帖子:
    10,018
    赞:
    16
    首先要引入 mootools.js ,主要用到了 $()、 $$() 函数和 Array.each() 方法。

    JavaScript 代码如下:

    PHP:
    <script type="text/javascript">
    window.addEvent("load", function() {
        var 
    ones = $$(document.getElementsByName("select-one"));
        
        $(
    "select-all").addEvent("click", function() {
            var 
    select_all this;
            
    ones.each(function(element) {
                
    element.checked select_all.checked;
            });
        });
        
        
    ones.each(function(element) {
            
    element.addEvent("click", function() {
                var 
    selected_status element.checked;
                var 
    selected_num 0;
                
                
    ones.each(function(el) {
                    if (
    el.checked == selected_status) ++selected_num;
                });
                
                if (
    selected_num == ones.length) {
                    $(
    "select-all").checked selected_status;
                } else {
                    $(
    "select-all").checked false;
                }
            });
        });
    });
    </
    script>
    上面的代码中,图简单,没有使用变量保存 $("select-all") 对象的引用。

    演示:http://www.ulysses.cn/demo/20080513001/