当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 排序Select中Option项的一个示例

Javascript
Javascript-Mozilla和IE中的一个函数直接量的问题分析
TopList标签和JavaScript结合两例
javascript-TreeView父子联动效果保持节点状态一致
不错的JS中变量相关的细节分析
解决使用attachEvent函数时,this指向被绑定的元素的问题的方法
根据地区不同显示时间的javascript代码
javascript下查找父节点的简单方法
分享别人写的一个小型js框架
封装好的省市地区联动控件附下载
权威JavaScript 中的内存泄露模式
JavaScript 编程引入命名空间的方法与代码
IE/FireFox具备兼容性的拖动代码
分析 JavaScript 中令人困惑的变量赋值
推荐一个小巧的JS日历
让回调函数 showResponse 也带上参数的代码
增强的 JavaScript 的 trim 函数的代码
高亮闪烁某个元素的js脚本
用JavaScript 处理 URL 的两个函数代码
JavaScript 模仿vbs中的 DateAdd() 函数的代码
用js实现随机返回数组的一个元素

Javascript 中的 排序Select中Option项的一个示例


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-10   浏览: 462 ::
收藏到网摘: n/a

Form中的Select控件不支持对选择项(Option)的排序,下面我将对Option中value属性值进行排序,并调整每个Option排序后的位置,具体代码如下(这里假设每个Option中的value与其中的text内容相同):

该函数运用了Array(数组)对象的排序(sort)方法,实现了Select排序。

function sortMe(oSel){
var ln = oSel.options.length;
var arr = new Array(); // 这是关键部分

// 将select中的所有option的value值将保存在Array中
for (var i = 0; i < ln; i++)
{

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

}

arr.sort(); // 开始排序

// 清空Select中全部Option

while (ln--)
{
  oSel.options[ln] = null;
}

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

for (i = 0; i < arr.length; i++)
{
  oSel.add (new Option(arr[i], arr[i]));
}
}
</script>

下面的示例演示了一个按升序排序的select