• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
小小菜鸟
博客园    首页    新随笔    联系   管理    订阅  订阅
多选Select排序

 

根据下拉框的选择排序


///
初始化排序框

///GroupMakeUp_UserID,待排序的框的实例

///sel,排序选择框

///

function InitSortCombox(GroupMakeUp_UserID, sel) {

    if (sel != "undefine" && sel != null) {

        var GroupMakeUp_UserIDSort = document.getElementById(sel);

        //首先清空原有的值

        GroupMakeUp_UserIDSort.options.length = 0;

        CreateOption(GroupMakeUp_UserIDSort, "请选择", "0");

        for (j = 0; j < GroupMakeUp_UserID.options.length; j++) {

            //向GroupMakeUp_UserIDSort中添加项(排序框)

            var s = GroupMakeUp_UserID.options[j].value.split("|");

            if (Exists(GroupMakeUp_UserIDSort, s[0])) {

                CreateOption(GroupMakeUp_UserIDSort, s[1], s[0]);

            }

        }

    }

}

 

///排序

function Sort_GroupMakeUp_UserID(param, src) {

    var oSel = document.getElementById(src);

 

    // alert(param.value);

    var arr = new Array(); // 这是关键部分

    // 将select中的所有option的value值将保存在Array中

    for (var i = 0; i < oSel.options.length; i++) {

        // 如果需要对option中的文本排序,可以改为arr[i] = oSel.options[i].text;

        arr[i] = { key: oSel.options[i].innerText, value: oSel.options[i].value };

    }

    //js Array排序

    arr.sort(function(a, b) { return a.value.indexOf(param.value) == -1 ? 1 : -1; }); // 开始排序

    // 清空Select中全部Option

    oSel.options.length = 0;

 

    // 将排序后的数组重新添加到Select中

    for (i = 0; i < arr.length; i++) {

        CreateOption(oSel, arr[i].key, arr[i].value);

    }

}

 

//是否已经存在

function Exists(src, param) {

    for (e = 0; e < src.options.length; e++) {

        if (src.options[e].value == param) {

            return false;

        }

    }

    return true;

}

//创建新的OPTION对象

function CreateOption(src, text, value) {

    var oOption = document.createElement("OPTION");

    src.options.add(oOption);

    oOption.innerText = text;

    oOption.value = value;

}

 

posted on 2009-08-21 17:03  service啊啊  阅读(1627)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3