js 对 select 中的 option 进行中文排序问题

2024-06-23 12:18

本文主要是介绍js 对 select 中的 option 进行中文排序问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

从数据库中读取出 select 列表的 option 值是按照数据库中的顺序进行排列的,有时需要对 optiion 的中文按照字母序进行排序,这时需要注意的问题是  option 的 text 值 和 value 值要同时排序。这样提交 form 表单将数据提交到数据库时就能按照 正确的 value 值进行插入数据了。

下面是一个写好的  sortOptions(oSel) 对 option进行排序的函数, oSel 为 select 的名字。


var select = document.getElementById('select') ;

 
select_root.options.length = 0 ;		// 长度清零// 添加 " --市-- "
var cityOption = document.createElement("option") ;
cityOption.innerText = "--市--" ;		
select_root.appendChild(cityOption) ;for(var i = 0; i < xSel.length; i ++) {
<span style="white-space:pre">	</span>var xValue = xSel[i].childNodes[0].firstChild.nodeValue;  var xText = xSel[i].childNodes[1].firstChild.nodeValue ;var option = new Option(xText, xValue) ;try{select_root.add(option) ;}catch(e){}
}// 排序
sortOptions(select_root) ;

function sortOptions(oSel) {var ln = oSel.options.length ;var txt = new Array() ;var val = new Array() ;for(var i = 0; i < ln; i ++) {txt[i] = oSel.options[i].text ;val[i] = oSel.options[i].value ;}toSort(txt, val) ;oSel.options.length = 0 ;for(var i = 0; i < txt.length; i ++) {oSel.add(new Option(txt[i], val[i])) ;}}function toSort(txt, val) {var j, k, temp ;for(var i = 1; i < txt.length-1; i ++) {k = i ;for(var j = i+1; j < txt.length; j ++ ) if( txt[k].localeCompare(txt[j]) == 1 ){k = j ;}temp = txt[k] ;txt[k] = txt[i] ;txt[i] = temp ;temp = val[k] ;val[k] = val[i] ;val[i] = temp ;}
}



这篇关于js 对 select 中的 option 进行中文排序问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1087136

相关文章

使用MongoDB进行数据存储的操作流程

《使用MongoDB进行数据存储的操作流程》在现代应用开发中,数据存储是一个至关重要的部分,随着数据量的增大和复杂性的增加,传统的关系型数据库有时难以应对高并发和大数据量的处理需求,MongoDB作为... 目录什么是MongoDB?MongoDB的优势使用MongoDB进行数据存储1. 安装MongoDB

关于@MapperScan和@ComponentScan的使用问题

《关于@MapperScan和@ComponentScan的使用问题》文章介绍了在使用`@MapperScan`和`@ComponentScan`时可能会遇到的包扫描冲突问题,并提供了解决方法,同时,... 目录@MapperScan和@ComponentScan的使用问题报错如下原因解决办法课外拓展总结@

MybatisGenerator文件生成不出对应文件的问题

《MybatisGenerator文件生成不出对应文件的问题》本文介绍了使用MybatisGenerator生成文件时遇到的问题及解决方法,主要步骤包括检查目标表是否存在、是否能连接到数据库、配置生成... 目录MyBATisGenerator 文件生成不出对应文件先在项目结构里引入“targetProje

Linux使用fdisk进行磁盘的相关操作

《Linux使用fdisk进行磁盘的相关操作》fdisk命令是Linux中用于管理磁盘分区的强大文本实用程序,这篇文章主要为大家详细介绍了如何使用fdisk进行磁盘的相关操作,需要的可以了解下... 目录简介基本语法示例用法列出所有分区查看指定磁盘的区分管理指定的磁盘进入交互式模式创建一个新的分区删除一个存

C#使用HttpClient进行Post请求出现超时问题的解决及优化

《C#使用HttpClient进行Post请求出现超时问题的解决及优化》最近我的控制台程序发现有时候总是出现请求超时等问题,通常好几分钟最多只有3-4个请求,在使用apipost发现并发10个5分钟也... 目录优化结论单例HttpClient连接池耗尽和并发并发异步最终优化后优化结论我直接上优化结论吧,

Java内存泄漏问题的排查、优化与最佳实践

《Java内存泄漏问题的排查、优化与最佳实践》在Java开发中,内存泄漏是一个常见且令人头疼的问题,内存泄漏指的是程序在运行过程中,已经不再使用的对象没有被及时释放,从而导致内存占用不断增加,最终... 目录引言1. 什么是内存泄漏?常见的内存泄漏情况2. 如何排查 Java 中的内存泄漏?2.1 使用 J

Go语言实现将中文转化为拼音功能

《Go语言实现将中文转化为拼音功能》这篇文章主要为大家详细介绍了Go语言中如何实现将中文转化为拼音功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 有这么一个需求:新用户入职 创建一系列账号比较麻烦,打算通过接口传入姓名进行初始化。想把姓名转化成拼音。因为有些账号即需要中文也需要英

numpy求解线性代数相关问题

《numpy求解线性代数相关问题》本文主要介绍了numpy求解线性代数相关问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 在numpy中有numpy.array类型和numpy.mat类型,前者是数组类型,后者是矩阵类型。数组

使用Python进行文件读写操作的基本方法

《使用Python进行文件读写操作的基本方法》今天的内容来介绍Python中进行文件读写操作的方法,这在学习Python时是必不可少的技术点,希望可以帮助到正在学习python的小伙伴,以下是Pyth... 目录一、文件读取:二、文件写入:三、文件追加:四、文件读写的二进制模式:五、使用 json 模块读写

解决systemctl reload nginx重启Nginx服务报错:Job for nginx.service invalid问题

《解决systemctlreloadnginx重启Nginx服务报错:Jobfornginx.serviceinvalid问题》文章描述了通过`systemctlstatusnginx.se... 目录systemctl reload nginx重启Nginx服务报错:Job for nginx.javas