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

相关文章

利用python实现对excel文件进行加密

《利用python实现对excel文件进行加密》由于文件内容的私密性,需要对Excel文件进行加密,保护文件以免给第三方看到,本文将以Python语言为例,和大家讲讲如何对Excel文件进行加密,感兴... 目录前言方法一:使用pywin32库(仅限Windows)方法二:使用msoffcrypto-too

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖

Spring 中的循环引用问题解决方法

《Spring中的循环引用问题解决方法》:本文主要介绍Spring中的循环引用问题解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录什么是循环引用?循环依赖三级缓存解决循环依赖二级缓存三级缓存本章来聊聊Spring 中的循环引用问题该如何解决。这里聊

Pandas使用AdaBoost进行分类的实现

《Pandas使用AdaBoost进行分类的实现》Pandas和AdaBoost分类算法,可以高效地进行数据预处理和分类任务,本文主要介绍了Pandas使用AdaBoost进行分类的实现,具有一定的参... 目录什么是 AdaBoost?使用 AdaBoost 的步骤安装必要的库步骤一:数据准备步骤二:模型

Spring Boot中JSON数值溢出问题从报错到优雅解决办法

《SpringBoot中JSON数值溢出问题从报错到优雅解决办法》:本文主要介绍SpringBoot中JSON数值溢出问题从报错到优雅的解决办法,通过修改字段类型为Long、添加全局异常处理和... 目录一、问题背景:为什么我的接口突然报错了?二、为什么会发生这个错误?1. Java 数据类型的“容量”限制

使用Pandas进行均值填充的实现

《使用Pandas进行均值填充的实现》缺失数据(NaN值)是一个常见的问题,我们可以通过多种方法来处理缺失数据,其中一种常用的方法是均值填充,本文主要介绍了使用Pandas进行均值填充的实现,感兴趣的... 目录什么是均值填充?为什么选择均值填充?均值填充的步骤实际代码示例总结在数据分析和处理过程中,缺失数

关于MongoDB图片URL存储异常问题以及解决

《关于MongoDB图片URL存储异常问题以及解决》:本文主要介绍关于MongoDB图片URL存储异常问题以及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录MongoDB图片URL存储异常问题项目场景问题描述原因分析解决方案预防措施js总结MongoDB图

SpringBoot项目中报错The field screenShot exceeds its maximum permitted size of 1048576 bytes.的问题及解决

《SpringBoot项目中报错ThefieldscreenShotexceedsitsmaximumpermittedsizeof1048576bytes.的问题及解决》这篇文章... 目录项目场景问题描述原因分析解决方案总结项目场景javascript提示:项目相关背景:项目场景:基于Spring

解决Maven项目idea找不到本地仓库jar包问题以及使用mvn install:install-file

《解决Maven项目idea找不到本地仓库jar包问题以及使用mvninstall:install-file》:本文主要介绍解决Maven项目idea找不到本地仓库jar包问题以及使用mvnin... 目录Maven项目idea找不到本地仓库jar包以及使用mvn install:install-file基

usb接口驱动异常问题常用解决方案

《usb接口驱动异常问题常用解决方案》当遇到USB接口驱动异常时,可以通过多种方法来解决,其中主要就包括重装USB控制器、禁用USB选择性暂停设置、更新或安装新的主板驱动等... usb接口驱动异常怎么办,USB接口驱动异常是常见问题,通常由驱动损坏、系统更新冲突、硬件故障或电源管理设置导致。以下是常用解决