Javascript对select中的中文数据按拼音排序

今天遇到一个麻烦的问题,就是对mysql数据库中一个表的字段中文数据取出来后按拼音排序,但是mysql库是utf-8编码的,取出来无法排序,因为它是按ascii码排序的,很是头疼,请教了同事第一个解决办法就是把那个字段编码手动改为gbk的就可以了,另一个办法就是不用改动数据库,任它取的是什么中文,只需要在页面中用js对这个select标签中取出的数据处理排序就可以了,呵呵...... 问题终于解决了,下面贴出js处理排序的方法,很实用的哦 ^_^

<SCRIPT LANGUAGE="JavaScript">
function sortRule(a,b) {
   var x = a._text;
   var y = b._text;
   return x.localeCompare(y);
}
function op(){
   var _value;
   var _text;
}
function sortOption(){
   var obj = document.getElementById("你的select标签的id名称");
   var tmp = new Array();
   for(var i=0;i<obj.options.length;i++){
    var ops = new op();
    ops._value = obj.options[i].value;
    ops._text = obj.options[i].text;
    tmp.push(ops);
   }
   tmp.sort(sortRule);
   for(var j=0;j<tmp.length;j++){
   obj.options[j].value = tmp[j]._value;
   obj.options[j].text = tmp[j]._text;
   }
}
sortOption();
</SCRIPT>

用的时候只需要把上面的代码贴出去,改下上面的select中的id名称就可以了。。。

posted on 2012-05-22 16:21  Haydy  阅读(454)  评论(0编辑  收藏  举报